break语句用于立即终止当前所在循环或switch语句,执行流跳转至其后第一条语句;在嵌套循环中仅跳出最内层循环。

break 语句用于立即终止当前所在的循环(for、while、do...while)或 switch 语句,执行流会跳转到该循环或 switch 结构之后的第一条语句。
只跳出最内层循环
在嵌套循环中,break 只影响它直接所处的那一层循环,不会影响外层循环。
例如:
for (let i = 0; i < 3; i++) {
console.log(`外层: ${i}`);
for (let j = 0; j < 3; j++) {
console.log(` 内层: ${j}`);
if (j === 1) break; // 只跳出内层 for
}
}
// 输出:
// 外层: 0
// 内层: 0
// 内层: 1
// 外层: 1
// 内层: 0
// 内层: 1
// 外层: 2
// 内层: 0
// 内层: 1
用带标签的 break 跳出指定循环
如果想从多层嵌套中直接跳出某一层(比如外层),可以给外层循环加一个标签(label),再用 break 标签名;。
例如:
outer: for (let i = 0; i < 3; i++) {
console.log(`外层: ${i}`);
for (let j = 0; j < 3; j++) {
console.log(` 内层: ${j}`);
if (i === 1 && j === 1) break outer; // 跳出 outer 标签的循环
}
}
// 输出:
// 外层: 0
// 内层: 0
// 内层: 1
// 内层: 2
// 外层: 1
// 内层: 0
// 内层: 1
break 在 switch 中的作用
在 switch 中,break 防止“穿透”(fall-through),即执行完一个 case 后不继续执行下一个 case 的代码。
- 没有 break → 继续执行后续 case(即使条件不匹配)
- 有 break → 当前 case 执行完就退出 switch
注意点
-
break不能脱离循环或switch单独使用,否则报语法错误 - 标签名后不能有空格,且必须紧邻循环语句(中间不能有分号或换行)
- 标签只对它紧邻的语句生效(通常是循环或 switch)


















