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"); } }