mark标记在最外层循环,执行break语句的时候返回标签处,因此直接结束三层循环。
lab() {
mark: for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
for (var k = 0; k < 10; k++) {
if (i == 2 && j == 3 && k == 3) {
break mark;
}
}
}
}
console.log("" + i + j + k); //233
}
同理,执行continue语句时,返回标签处,从标签处继续执行循环。
lab() {
var add = 0;
mark: for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
for (var k = 0; k < 10; k++) {
if (i % 2 == 0) {
continue mark;
}
add++;
}
}
}
console.log(add); //500
}
网友评论