javascript - Break 语句不会退出 JavaScript 中的所有嵌套循环

标签 javascript node.js break

我理解break语句终止所有嵌套循环。 我编写了以下代码,但它没有按预期工作。

<script>
    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            if (i == 3) {
                break;
            }
            document.write(i + '*' + j + '<br>');
        }
    }
</script>

实际输出:

0*0
0*1
0*2
0*3
0*4
1*0
1*1
1*2
1*3
1*4
2*0
2*1
2*2
2*3
2*4
4*0
4*1
4*2
4*3
4*4

根据我的理解,输出不应包含 4*0...4*4 因为当 i == 3 时,break 应终止所有嵌套循环。

预期输出:

0*0
0*1
0*2
0*3
0*4
1*0
1*1
1*2
1*3
1*4
2*0
2*1
2*2
2*3
2*4

最佳答案

您必须指定要中断的循环。

loop1: for (i = 0; i < 5; i++) {
    loop2: for (j = 0; j < 5; j++) {
        if (i == 3) {
            break loop1;
        }
        document.write(i + '*' + j + '<br>');
    }
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break

关于javascript - Break 语句不会退出 JavaScript 中的所有嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60958729/

相关文章:

javascript - 固定侧边栏对于浏览器来说太高(底部被切断)

javascript - 如何在HTML5中使用动态数组连续绘制 Canvas 波?

javascript - 根据获取响应快速填充数组

mysql - 为什么当 xampp 运行 mysql 时我的 Node.js 代码可以工作,但当 mysql 通知程序运行 mysql 服务器时却不能工作?

node.js - Azure - 使用 API 创建具有 IP 的 VM 实例

for循环内的python while循环不会中断

javascript - 解析外部 html 时不会触发 Click 事件

javascript - Nodejs 没有异步执行 promise 函数

objective-c - 跳出 switch 语句

C++:打破主循环