break
语句在 JavaScript 中用于终止整个循环(无论是 for
循环、while
循环还是 do...while
循环),或者在 switch
语句中终止一个 case
分支的执行。当 break
出现在嵌套循环中时,它默认只会跳出当前所在的那一层循环。
break
语句:用于立即退出循环或 switch
语句。break
可以使代码更加简洁明了。break
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // 当 i 等于 5 时,退出循环
}
console.log(i);
}
// 输出:0 1 2 3 4
break
默认情况下,break
只会跳出最近的一层循环。
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (j === 1) {
break; // 当 j 等于 1 时,退出内层循环
}
console.log(`i: ${i}, j: ${j}`);
}
}
// 输出:
// i: 0, j: 0
// i: 1, j: 0
// i: 2, j: 0
如果需要跳出多层嵌套循环,可以使用标签(label)。
outerLoop:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop; // 当 i 和 j 都等于 1 时,退出外层循环
}
console.log(`i: ${i}, j: ${j}`);
}
}
// 输出:
// i: 0, j: 0
// i: 0, j: 1
// i: 0, j: 2
// i: 1, j: 0
原因:默认情况下,break
只会跳出当前所在的那一层循环。
解决方法:使用标签(label)来指定要跳出的循环层级。
outerLoop:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop;
}
console.log(`i: ${i}, j: ${j}`);
}
}
通过这种方式,可以灵活控制 break
语句的作用范围,从而实现跳出多层嵌套循环的目的。
领取专属 10元无门槛券
手把手带您无忧上云