我有一个关于 JavaScript 中嵌套循环如何工作的问题。
想象一下,我有 while() 循环......其中有一个 for() 循环。每个都有其自己单独的结束条件(见下面的示意图)。
我的问题是:while() 循环会在其结束条件满足后立即停止吗——即使其中的 for() 循环尚未完成?这是一个例子。
var i = 0;
while (i < somenumber){
for(var j=0; j < othernumber; j++){
somecode();
i++:
}
}
代码似乎有效,但我想确保我理解这些结构应该如何工作。目标是让 while 循环(以及其中的 for 循环)在“i”到达“somenumber”时停止,即使 j 尚未到达“othernumber”。
最佳答案
您可以使用labels
和break
命令直接退出父循环:
var x = 0, y=0;
b1: {
while (x++ < 5){
b2: {
for(y=0; y < 3; y++){
if (y === 1){
x = 2;
break b1;
}
}
}
}
}
console.log(`x=${x} y=${y}`)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break
关于javascript - 嵌套的 JavaScript 循环如何自然中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216342/