1、break 语句
break
语句是用于提前退出循环,与continue
关键字区别是,break
是跳出整个循环,而continue
关键字是跳出当前循环,不是跳出整个循环,还会执行一下循环。
例如,
var x = 1;
console.log("循环开始 \n ");
while (x < 20) {
if (x == 5) {
break; // 跳出整个循环
}
x = x + 1;
console.log( x + "\n");
}
console.log("循环结束 \n ");
2、continue 语句
continue
语句告诉解释器立即开始循环的下一次迭代,并跳过剩余的代码块。与break
的区别是break
是立即跳出整个循环,相当于终止循环。
例如,
var x = 1;
console.log("循环开始\n ");
while (x < 10) {
x = x + 1;
if (x == 5) {
continue; // 跳过循环体的其余部分
}
console.log( x + "\n");
}
console.log("循环结束\n ");
3、使用标签控制流
从JavaScript 1.2开始,标签(label)可以与break
一起使用,并继续更精确地控制流。标签(label)只是一个后跟冒号(:
)的标识符,应用于一个语句或代码块。
例如,
//使用break 标签示例
outerloop: // 这是label标签名
for (var i = 0; i < 5; i++) {
console.log("Outerloop: " + i + "\n");
innerloop:
for (var j = 0; j < 5; j++) {
if (j > 3 ) break ; // 退出最内层循环
if (i == 2) break innerloop; // 退出循环
if (i == 4) break outerloop; // 退出外层循环
console.log("Innerloop: " + j + " \n");
}
}
注意:在'continue'
或'break'
语句与其标签名之间不允许换行。同样,在标号名称和相关循环之间不应该有任何其他语句。
例如,
//使用continue 标签示例
outerloop: // 这是label标签名
for (var i = 0; i < 3; i++) {
console.log("Outerloop: " + i + "\n");
for (var j = 0; j < 5; j++) {
if (j == 3) {
continue outerloop;
}
console.log("Innerloop: " + j + "\n");
}
}