介绍
break 语句用于立即退出循环或 switch 语句。当执行到 break 语句时,程序会跳出当前的循环或 switch 语句,并继续执行后面的代码。
使用场景
在循环中使用 break
for 循环
break 语句可以用来提前结束 for 循环。例如,假设你需要在一个数组中找到第一个偶数并停止搜索:
const numbers = [1, 3, 5, 7, 8, 9];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
console.log(`找到了第一个偶数: ${numbers[i]}`);
break;
}
}在这个例子中,当找到第一个偶数 8 时,循环会立即终止。
while 和 do-while 循环
同样地,在 while 和 do-while 循环中也可以使用 break 语句来提前终止循环:
// www.javascriptcn.com code example
let count = 0;
while (count < 10) {
count++;
if (count === 5) {
console.log('达到计数5,跳出循环');
break;
}
console.log(count);
}
// 输出:
// 1
// 2
// 3
// 4这里,当计数器 count 达到 5 时,循环被 break 语句提前终止。
在 switch 语句中使用 break
switch 语句中使用 break 语句可以防止“穿透”,也就是说,如果没有 break 语句,控制流将继续执行下一个 case 直到遇到 break 或者 switch 结束。例如:
// www.javascriptcn.com code example
let fruit = 'apple';
switch (fruit) {
case 'banana':
console.log('这是香蕉');
break;
case 'apple':
console.log('这是苹果');
break;
case 'orange':
console.log('这是橙子');
break;
default:
console.log('未知水果');
}这个例子中,因为 fruit 的值是 'apple',所以会输出 "这是苹果" 并且不会继续执行下面的 case。
跳出多层循环
如果你需要在多层嵌套循环中使用 break,可以结合标签(label)来实现。标签是一个标识符,后面跟着一个冒号,放置在循环或 switch 语句之前。例如:
// www.javascriptcn.com code example
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}`);
}
}
// 输出:
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0在这个例子中,当 i 等于 1 且 j 等于 1 时,跳出最外层的循环。
总结与注意事项
break语句可以用于循环和switch语句中。- 在循环中使用
break可以避免不必要的迭代。 - 在
switch语句中使用break防止“穿透”。 - 使用标签可以跳出多层循环。
通过合理使用 break 语句,可以使代码更简洁、高效,同时也能提高代码的可读性和可维护性。