1.break语句和continue语句都可以让代码不按既有的顺序执行,具有跳转作用。
(1) break语句用于跳出代码块或循环。
var i=0;
while (i<10) {
console.log(i);
i++;
if (i === 3) break;
}
(输出: 0 , 1 , 2)
for (var i = 0; i < 10; i++) {
if (i === 3) break;
console.log(i);
}
(输出: 0 ,1 , 2 )
(2) continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
for (var i = 0; i < 10; i++) {
if (i === 3) continue;
console.log(i);
}
(输出: 0 , 1 , 2 , 4, 5, 6, 7, 8, 9 )
(3) 如果存在多重循环,不带标签的break语句和continue语句都只针对最内层循环。
2.带有标签的 break 语句, continue 语句
(1) 标签: JavaScript语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label:
statement
(2) 标签可以是任意的标识符,但是不能是保留字,语句部分可以是任意语句。
(3) 标签通常与 break 语句和 continue 语句配合使用,跳出特定的循环。
outer:
for (var i = 0; i < 3; i++) {
inner:
for ( var j = 0; j < 3; j++) {
if( i===1 && j===1) break outer;
console.log(i, j);
}
}
输出: 0 0, 0 1, 0 2, 1 0
top:
for (var i = 0; i < 3; i++) {
inner:
for ( var j = 0; j < 3; j++) {
if( i===1 && j===1) break inner;
console.log(i, j);
}
}
输出: 0 0, 0 1, 0 2, 1 0 , 2 0, 2 1 , 2 2
(4) continue也是类似,如果 break 语句或者 continue 语句后面跟上了对应循环的标签,就是打破标签对应循环的执行.如果多层循环中没有跟上标签,则是打破最内层循环的执行.