ZetCode

JavaScript break 关键字

最后修改于 2025 年 4 月 16 日

在本文中,我们将展示如何使用 JavaScript 中的 break 关键字来控制循环的执行。

break 关键字

break 关键字用于过早地终止循环的执行。 当在循环内部遇到时,它会立即退出循环,而不管循环的条件如何。 这提供了对循环执行的控制。

break 语句可用于 forwhiledo...whileswitch 语句中。 当您需要根据某些条件停止迭代时,它特别有用。

如果没有 break,循环将始终完成所有迭代,除非它们的条件变为 false。 break 语句在控制循环执行流程方面提供了更大的灵活性。

在 for 循环中使用 break 的基本示例

以下示例演示了 break 关键字在 for 循环中的基本用法。

main.js
for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;
    }
    console.log(i);
}

此循环通常会运行 10 次,但我们使用 breaki 等于 5 时退出。 当执行 break 语句时,循环立即停止。 数字 0 到 4 会被记录到控制台。

$ node main.js
0
1
2
3
4

在 while 循环中使用 break

break 关键字在 while 循环中的工作方式类似。

main.js
let count = 0;
while (true) {
    console.log(count);
    count++;
    if (count > 3) {
        break;
    }
}

此示例显示一个使用 break 终止的无限 while 循环。 如果没有 break 语句,此循环将永远运行。 break 条件检查 count 是否超过 3。

$ node main.js
0
1
2
3

在嵌套循环中使用 break

当在嵌套循环中使用时,break 仅退出最内层的循环。

main.js
for (let i = 0; i < 3; i++) {
    for (let j = 0; j < 3; j++) {
        if (j === 1) {
            break;
        }
        console.log(`i: ${i}, j: ${j}`);
    }
}

break 语句仅影响内部循环,其中 j 等于 1。 外部循环继续正常执行。 这表明 break 仅退出一个嵌套级别。

$ node main.js
i: 0, j: 0
i: 1, j: 0
i: 2, j: 0

带标签语句的 break

JavaScript 支持带标签的 break 语句以退出外部循环。

main.js
outerLoop: for (let i = 0; i < 3; i++) {
    innerLoop: for (let j = 0; j < 3; j++) {
        if (i === 1 && j === 1) {
            break outerLoop;
        }
        console.log(`i: ${i}, j: ${j}`);
    }
}

在这里,我们使用带标签的 break 在满足特定条件时退出两个循环。 标签 "outerLoop" 标识要从中退出的循环。 这对于同时退出多个嵌套循环非常有用。

$ node main.js
i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0

在 switch 语句中使用 break

break 关键字也用于 switch 语句中。

main.js
const fruit = 'apple';

switch (fruit) {
    case 'banana':
        console.log('Yellow fruit');
        break;
    case 'apple':
        console.log('Red fruit');
        break;
    default:
        console.log('Unknown fruit');
}

在 switch 语句中,break 可防止 fall-through 到下一个 case。 如果没有 break,执行将继续到下一个 case 语句。 每个 case 通常应以 break 语句结尾。

$ node main.js
Red fruit

Break vs continue

区分 breakcontinue 很重要。

main.js
for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue;
    }
    if (i === 4) {
        break;
    }
    console.log(i);
}

此示例显示了这两个关键字的实际应用。 continue 跳过当前迭代,而 break 完全退出循环。 在这里,跳过了数字 2,当 i 达到 4 时,循环结束。

$ node main.js
0
1
3

实际用例:搜索数组

这是一个使用 break 优化搜索的实际示例。

main.js
const numbers = [4, 9, 15, 6, 2, 12];
let found = false;

for (let num of numbers) {
    if (num > 10) {
        found = true;
        console.log(`Found number greater than 10: ${num}`);
        break;
    }
}

if (!found) {
    console.log('No numbers greater than 10 found');
}

此代码在数组中搜索第一个大于 10 的数字。 当满足条件时,循环立即中断,从而提高了效率。 如果没有 break,它将不必要地检查所有剩余元素。

$ node main.js
Found number greater than 10: 15

来源

break - 语言参考

在本文中,我们演示了如何使用 break 关键字来控制 JavaScript 中的循环执行。

作者

我的名字是 Jan Bodnar,我是一位充满激情的程序员,拥有丰富的编程经验。 自 2007 年以来,我一直在撰写编程文章。 迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。 我拥有十多年的编程教学经验。

查看 所有 JavaScript 教程。