break终止整个循环,continue跳过本次迭代;break用于提前退出循环,continue用于跳过当前循环体剩余代码并进入下一次迭代。

在 JavaScript 中,break 和 continue 是两个专门用于控制循环执行流程的关键字,它们不改变循环条件本身,而是直接干预当前循环的执行路径。
break:立即终止整个循环
当循环中遇到 break 语句时,当前循环会立刻结束,程序跳转到循环体之后的第一行代码继续执行。它常用于在满足某个条件后提前退出循环,避免多余遍历。
- 可用于
for、while、do...while循环,也可用于switch语句中(但此处不涉及循环) - 在嵌套循环中,break 只跳出最内层循环;如需跳出外层,可配合标签(label)使用
- 示例:查找数组中第一个偶数并停止搜索
for (let i = 0; i if (arr[i] % 2 === 0) {
console.log("找到第一个偶数:", arr[i]);
break;
}
}
// 输出:找到第一个偶数: 8,后续 10 不再检查
continue:跳过本次循环剩余部分,进入下一次迭代
continue 不终止整个循环,而是中断当前这一次循环体的执行,直接跳到循环条件判断或更新表达式(如 for 中的 i++),开始下一轮。
- 同样适用于
for、while、do...while - 在
for循环中,continue 后仍会执行更新语句(比如i++);而在while中,需确保 continue 前已有逻辑推进循环变量,否则可能陷入死循环 - 示例:打印 1–10 中所有奇数
console.log(i); // 只输出 1, 3, 5, 7, 9
}
break/continue 与标签(label)配合跳出多层循环
当存在嵌套循环且需要从内层直接跳出到外层循环之外时,仅用普通 break 无法实现。这时可给外层循环加标签,再在内层用 break 标签名 实现精准跳出。
- 标签名后跟冒号,写在循环语句前(如
outer: for (...) {...}) -
continue 标签名表示跳到对应标签循环的下一次迭代(仅对for/while有效,且标签必须是循环语句) - 注意:标签不能跨函数或作用域使用
console.log(i, j);
}
}
// 输出 (0,0)(0,1)(0,2)(1,0),遇到 (1,1) 就彻底跳出两层
常见误区与注意事项
这两个关键字看似简单,但误用容易引发逻辑错误或难以调试的问题。
- 不要在 if 外单独写 break/continue——它们只能出现在循环或 switch 内部,否则语法报错
-
避免在 while 中滥用 continue 而忽略变量更新,例如:
while (x > 0) { if (x === 5) continue; x--; }会导致 x=5 时无限循环 -
break/continue 不影响函数返回,若需退出函数,请用
return - 可读性优先:过度嵌套 + 标签跳转会让逻辑变复杂,必要时考虑重构为函数 + return
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











