JavaScript支持用标签配合break跳出指定外层循环;标签需紧邻循环语句前,命名符合变量规则且非关键字,break后紧跟标签名无空格。

JavaScript 中可以使用 标签(label) 配合 break 语句,从多重嵌套循环中直接跳出指定外层循环。
标号的语法和基本用法
给外层循环加一个标识名(标号),后面紧跟冒号,然后在内层循环中用 break 标签名 即可跳出到该标号所在循环的下一条语句。
- 标号必须紧跟在循环语句(
for、while、do...while)之前,不能单独存在 - 标号名遵循变量命名规则,不能是关键字(如
for、break) -
break后面必须跟标号名,中间无空格;不带标号的break只跳出当前最内层循环
实际例子:两层 for 循环中跳出外层
比如查找二维数组中第一个值为 5 的元素,并立即退出所有循环:
outer: for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j] === 5) {
console.log(`找到 5,位置:[${i}][${j}]`);
break outer; // 直接跳出 outer 标号标记的 for 循环
}
}
}
console.log('继续执行后续代码');
如果没有 outer 标号,只写 break,就只会跳出内层循环,外层仍会继续运行。
立即学习“Java免费学习笔记(深入)”;
常见误区和注意事项
- 标号不能跨函数或作用域使用,只能用于紧邻的循环语句
- 不能对
if或普通代码块加标号后用break跳转(语法错误) -
continue也支持标号,作用是跳过当前标号循环的本轮迭代,进入下一轮 - 过度使用标号会让逻辑变难读,建议优先考虑重构(如封装成函数 +
return)
替代方案:用函数封装提前返回
更推荐的方式是把嵌套逻辑封装进函数,用 return 提前退出,语义更清晰:
function findFirstFive(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (arr[i][j] === 5) {
return { i, j }; // 直接返回并结束整个函数
}
}
}
return null;
}
这种方式避免了标号,也更容易测试和复用。


















