讲continue的地方
var i, j;loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i == 1 && j == 1) {
continue loop1;
} else {
console.log("i = " + i + ", j = " + j);
}
}
}// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// "i = 2, j = 0"
// "i = 2, j = 1"
// "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
请问为什么"i = 1, j = 1" and "i = 1, j = 2"都被掠过了,不明白第二个为什么会被跳掉mozillajavascript实例
var i, j;loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i == 1 && j == 1) {
continue loop1;
} else {
console.log("i = " + i + ", j = " + j);
}
}
}// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// "i = 2, j = 0"
// "i = 2, j = 1"
// "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
请问为什么"i = 1, j = 1" and "i = 1, j = 2"都被掠过了,不明白第二个为什么会被跳掉mozillajavascript实例
loop1:javascript真它爷爷的,这么奇怪写法。
这个意思就是 从这里开始马上继续执行loop1。也就是说跳出loop2 这里类同 break;跳出当前循环继续执行 。当然这个 continue loop1; 更加灵活
这种写法同用吗?loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i == 1 && j == 1) {
continue loop2;
} else {
console.log("i = " + i + ", j = " + j);
}
}
}
for (i = 0; i < 3; i++)continue loop1;//继续 loop1的循环
和那个万人唾弃的goto一样。要理解,理解一下#5的说法吧。如果continue不加标签,只能continue一层for循环,加label,就是continue第二层循环。break也一样可以这样用。要是实际中有谁还在用语句标签,你就抽丫的!凡是用label跳来跳去的控制流程的做法,都是作死的节奏!
当作一种存在吧,或许JS版本再更新,这种标签跳转来控制流程的做法就不能用了。