javascript - 嵌套的 JavaScript 循环如何自然中断

标签 javascript loops

我有一个关于 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”。

最佳答案

您可以使用labelsbreak命令直接退出父循环:

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/

相关文章:

javascript - 忽略空白值对 json 进行排序

javascript - 将查询字符串添加到 data-href

c++ - 对输入的名称 'age' 进行排序,然后显示结果

python - 无法将循环限制为 21 行

java - 在 Java 中查找第一个没有重复的字符时出错

javascript - 如何在 JSP 页面中使用 Javascript 读取下拉值

javascript - 向表格行添加 onclick 事件

javascript - AngularJS - 选择选项并在函数中使用它

java - 需要对循环中的随机数中的数字求和

python - 元素删除后的内循环行为