首页 > 编程语言 > JavaScript:控制跳转:break、continue与标签

JavaScript:控制跳转:break、continue与标签

时间:2022-12-09 20:02:39浏览次数:49  
标签:循环体 标签 JavaScript here break 循环 跳转

在循环结构中,经常需要使用关键字breakcontinue来控制跳转;

遇到break,就会跳出循环结构,执行循环体后面的代码;

遇到continue,就会跳出本次循环,进入下一次循环;

那么,假如有嵌套循环,我在内循环中,想直接跳转到最外层循环,执行最外层循环体后面的代码,该怎么做呢?

在JS中,有一个类似于C/C++中的goto语句,通常并不推荐goto语句,因为它破坏了结构;

它就是标签,它的用法是这样的,标签名:循环体

配合break 标签名进行跳转,具体看下面代码:

image-20221209194549881

此处标签名是here,后面跟着双层for循环,在内层循环通过break here,直接跳出到最外层循环的here处,然后执行最外层循环后面的代码,输出了get out

注意,虽然break here按照逻辑来说,是跳转到标签here那里,然后按理说,应该是再继续here后面的代码,也就是又进入了双层for循环;但是实际上不是的,实际上是执行here所在的循环体的后面的代码;

这就是标签的反直觉的用法,很容易迷惑大家。

另外,标签必须在break的前面,如果在后面,break是无法跳转的。

标签:循环体,标签,JavaScript,here,break,循环,跳转
From: https://www.cnblogs.com/Journing/p/16969861.html

相关文章

  • JavaScript -- DOM事件总结
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • JavaScript:立即执行函数
    想象一下,如果我希望某个代码块,只执行一次,就不再执行,应该怎么办?代码块肯定是用函数来表示,执行肯定是调用函数,但是确保只执行一次,该怎么办?我们为什么可以多次调用函数,因为......
  • https页面内http链接跳转时的referer问题
    no-referrer:即不添加referer信息;origin:即referer信息只有schema://domain:port,即协议://域名:端口,没有路径信息;no-referrer-when-downgrade:当协议降级时,不发送referer......
  • JavaScript:对象:如何复制一个对象?浅拷贝与深拷贝
    回顾一下,我们对传参的讨论,对象的传参是引用传递,我们传递的是对象数据所在的内存地址;那么无论我们怎么去赋值,所有变量指向的都是同一块内存;如上图所示,无论我去使用哪个变......
  • JavaScript:对象:如何读取、添加、删除对象的属性?
    如何给对象添加属性?直接对象名.属性名去添加属性直接对象名[属性名]去添加属性,此时属性名得是字符串类型,可以直接引号,也可以用变量名如何读取对象的属性值?这......
  • JavaScript:对象:如何去遍历输出一个对象的属性?语句for-in
    使用for-in的for循环语句,可以去遍历一个对象的属性,这类似于Java的增强for循环;但是注意,这并不能遍历对象的所有属性,有些隐藏的属性,是无法遍历出来的,虽然我们可以通过控制台......
  • JavaScript:箭头函数:省略写法
    之所以把箭头函数拎出来,是因为它不仅仅是声明函数的一种方式,它还是函数式编程的重要根基,它使得函数的使用更加的灵活,同时,它的语法,也相对于function声明的函数更加灵活和复......
  • JavaScript:箭头函数:作为参数进行传参
    之前已经说过,JS的函数,也是对象,而函数名是一个变量,是可以进行传参的,也即函数是可以被传参的。只要是函数,都可以被传参,但是箭头函数的语法更为灵活,所以更方便进行传参。如......
  • JavaScript:对象:如何创建对象?
    JS是面向对象的语言,除开基础数据类型,其他所有的数据类型都是对象,包括函数。如何去理解对象,什么是对象呢?举个例子,比如我们将日常生活中见到的猫这种动物,抽象成一个类Cat,这......
  • JavaScript:变量: 如何声明变量?
    声明变量可以用下面几种方式:但是这几种声明方式肯定是有区别的,主要是上面三种方式的区别,这需要结合window对象和作用域来说明,这里不赘述。声明变量的时候,推荐使用let,这......