标签语句可为循环命名,配合break或continue跳出/跳过指定层级循环;写法为循环前加标识符后跟冒号,标识符需符合变量命名规则且不与关键字冲突。

JavaScript 中用标签语句(label statement)可以为循环命名,再配合 break 或 continue 跳出或跳过指定层级的循环,解决多层嵌套中无法直接跳出外层的问题。
标签语句的基本写法
在循环前加一个标识符,后跟冒号 :,这个标识符就是标签名。标签名需符合变量命名规则,且不能与关键字冲突。
outerLoop: for (let i = 0; isearch: while (condition) { ... }- 标签必须紧挨着循环语句(不能有分号、空行或其它语句隔开)
用 break 标签名 跳出指定外层循环
普通 break 只终止最近的循环,加上标签就能跳到对应循环之外,常用于查找匹配后立即退出所有嵌套。
例如,在二维数组中查找某个值并返回坐标:
const matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let found = false; let result; outer: for (let i = 0; i <h3>用 <code>continue 标签名</code> 跳过外层循环的当前迭代</h3> <p><code>continue</code> 加标签会跳过对应循环的本次执行,进入下一次迭代。适用于需要根据内层条件控制外层流程的场景。</p>
- 比如:遍历多个用户列表,若某用户无权限,则跳过整个用户的处理逻辑
- 注意:
continue只对for、while、do...while有效,不能用于if或普通代码块
示例:
usersLoop: for (const user of users) {
if (!user.isActive) continue usersLoop; // 跳过该用户,不执行后续处理
for (const order of user.orders) {
if (order.status === 'cancelled') continue usersLoop; // 取消订单 → 整个用户跳过
processOrder(order);
}
}
注意事项和常见误区
标签不是作用域,也不影响变量提升或生命周期;它只是给语句起名,供 break/continue 引用。
- 标签只能用在语句前,且该语句必须是可中断的(即循环或
switch) - 不能跨函数使用:标签只在声明它的作用域内有效
- 避免过度嵌套:标签虽能解决问题,但深层嵌套本身是代码可读性隐患,优先考虑重构(如提取函数、用
some/find等数组方法) - 不要用标签跳转到非循环语句上,否则语法报错
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











