摘要:如果每个循环正常执行次,则语句就会正常执行次。但内部循环中的语句带了一个参数要返回到的标签。
最近在阅读《JavaScript高级程序设计第3版》的过程中,看到了label语句的使用,因为之前没使用过,觉得有必要学习一下,特此记录。
label语句是ECMA中定义的语句,因此不存在兼容性的问题,使用label语句是为了给代码添加标签,方便将来使用,语法如下:
label: statement //下面是一个示例: start: for (var i=0; i < count; i++) { alert(i); }
label语句可以与break 和 continue 语句联合使用,从而返回代码中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下:
var num = 0; outermost: for (var i=0; i < 10; i++) { for (var j=0; j < 10; j++) { if (i == 5 && j == 5) { break outermost; } num++; } } alert(num); //55
在这个例子中,outermost 标签表示外部的 for 语句。如果每个循环正常执行 10 次,则 num++ 语句就会正常执行 100次。换句话说,如果两个循环都自然结束,num 的值应该是 100。但内部循环中 的 break语句带了一个参数:要返回到的标签。添加这个标签的结果将导致 break 语句不仅会退出内 部的 for 语句(即使用变量 j的循环),而且也会退出外部的 for 语句(即使用变量 i 的循环)。为此, 当变量 i 和 j 都等于 5 时,num 的值正好是55。同样,continue 语句也可以像这样与 label 语句联 用,如下面的例子所示:
var num = 0; outermost: for (var i=0; i < 10; i++) { for (var j=0; j < 10; j++) { if (i == 5 && j == 5) { continue outermost; } num++; } } alert(num); //95
在这种情况下,continue 语句会强制继续执行循环——退出内部循环,执行外部循环。当 j 是 5 时,continue 语句执行,而这也就意味着内部循环少执行了 5 次,因此 num 的结果是 95。
虽然联用 break、continue 和 label 语句能够执行复杂的操作,但如果使用过度,也会给调试 带来麻烦。在此,我们建议如果使用 label 语句,一定要使用描述性的标签,同时不要嵌套过多的循环。
----来源《JavaScript高级程序设计第3版》
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/93750.html
摘要:前言基本上,我们每天都在和中的各种语句进行着沟通,那些我们经常见面的老朋友,或者是未曾见面的新朋友,它们共同维护着的流程,让我们的程序稳步运行。 前言 基本上,我们每天都在和 JavaScript 中的各种语句进行着 沟通 ,那些我们经常见面的 老朋友,或者是未曾见面的 新朋友 ,它们共同维护着 JavaScript 的流程,让我们的程序稳步运行。那么,你是否对它们足够了解呢 如果文章...
摘要:会自动调用转换函数将这个表达式的结果转换为一个布尔值。语句语句与语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。 表达式在 JavaScript 中是短语,那么语句就是整句命令。表达式用来计算出一个值,语句用来执行以使某件事发生。从本质上看,语句定义了 JavaScript 中的主要语法,语句通常使用一或多个关键字来完成给定任务。语句可以很简单,例如通知函数退出;也可...
摘要:表达式用来计算出一个值,语句用来执行以使某件事发生。其中,语句会立即退出循环,强制继续执行循环后面的语句。在执行语句之后,结果显示。语句语句的作用是指定函数调用后的返回值。语句语句的作用是把程序运行时产生的错误显式地抛出异常。 表达式在 JavaScript 中是短语,那么语句就是整句命令。表达式用来计算出一个值,语句用来执行以使某件事发生。从本质上看,语句定义了 JavaScript...
摘要:上面这段代码,在中的执行结果是什么呢大家思考分钟好,分钟已过,大家有结果了吗千万不要在浏览器的控制台中去写这段代码,虽然结果和你开始想的结果一样,但是,它是错误的。这是在控制台中执行的结果这是在中的执行结果可以看到两个结果是不一样的。 1. 引言 假设有这么一道题: for (var i = 0; i < 10; i++) { console.log(i); for (...
摘要:因为阻止了默认行为的几个常见用法取消默认行为参照上例链式编程闭包之后章节详细讲解和语句和语句用于在循环中精确地控制代码的执行。其中,语句会立即退出循环,强制继续执行循环后面的语句。只能结束循环中的一次过程但不能终止循环继续进行。 return 语句 return语句的几个特点:(1)return语句应用范围只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误(2)return...
阅读 865·2021-11-15 11:37
阅读 3603·2021-11-11 16:55
阅读 3270·2021-11-11 11:01
阅读 998·2019-08-30 15:43
阅读 2743·2019-08-30 14:12
阅读 680·2019-08-30 12:58
阅读 3388·2019-08-29 15:19
阅读 2023·2019-08-29 13:59