目录
结构跳转语句主要包括:label 标签、break、continue,它们常与条件语句、循环语句配合使用,来控制条件和循环流程。
1、标签语句 label
在 JavaScript 种,任何语句都可以添加一个标签,以便在复杂结构种 设置程序跳转路径。定义标签语句的语法格式如下:
label:statements
label 为任意合法的标识符,但不能使用保留字。由于标签名与变量名属于不同的语法体系,所以不用担心标签名与变量名重叠。然后使用冒号分隔标签名与标签语句。下面是一个示例:
start:for(var i=0;i<count;i++){
alert(i);
}
这个例子中定义的 start 标签可以在将来由 break 或 continue 语句引用。加标签的语句一般都要与 for 语句等循环语句配合使用。
2、break 语句
break 语句能够终止循环或多重分支结构的执行。主要用在循环结构和 switch 多重分支结构中,用在其他地方都是非法的。
var num = 0;
for(var i=1;i<10;i++){
if(i%5 == 0){
break; //终止for循环
}
num++;
}
alert(num); //4
break 关键字后面可以跟随一个标签名,用来指示程序终止执行之后要跳转的位置,并以该标签语句末尾的位置为起点继续执行。
break label;
break 语句和标签语句结合使用仅限于嵌套结构内部。如果是并列的循环结构,循环之间通过 break 语句和标签语句来实现跳转是不允许的。
使用带有标签的 break 语句时应注意以下两点。
i、只有使用嵌套的循环或者嵌套的 switch 结构,且需要退出非当前层结构时,才可以使用带有标签的break 语句。
ii、break 关键字与标签名之间不能够包含换行符,否则 JavaScript 会把它们看做是两个句子,并分别单独执行。
break 语句主要功能是提前结束循环或多重分支判断。这在循环条件复杂,且无法预控制的情况下,可以避免死循环或者不必要的空循环。
3、continue 语句
continue 语句与 break 语句都独立成句,用于循环结构,break 语句用于立即停止并退出循环,而 continue 语句用于停止当前循环,继续执行下一次循环。
var num = 0;
for(var i=1;i<10;i++){
if(i%5 == 0){
continue;
}
num++;
}
alert(num); //8
与 break 语句语法相同,continue 语句可以跟随一个标签名,用来指定继续执行的循环结构的起始位置:
continue label;
break 和 continue 语句用于在循环中精确地控制代码的执行。其中,break 语句会立即退出循环,强制继续执行循环后面的语句。而 continue 语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。