ZetCode

JavaScript continue 关键字

最后修改于 2025 年 4 月 16 日

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

continue 关键字

continue 关键字用于跳过循环的当前迭代。 当遇到它时,它会立即跳转到下一个迭代,绕过当前迭代中剩余的任何代码。 这提供了对循环执行流程的精确控制。

continue 语句可用于 forwhiledo...while 循环。 当您需要根据特定条件跳过特定迭代时,它特别有用。

与完全退出循环的 break 不同,continue 仅跳过当前迭代。 如果循环条件仍然为真,则循环将继续使用下一个迭代执行。

for 循环中的基本 continue

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

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

此循环运行 5 次,但在 i 等于 2 时跳过迭代。 continue 语句跳转到下一个迭代,跳过 console.log。 数字 0、1、3 和 4 被记录到控制台。

$ node main.js
0
1
3
4

while 循环中的 continue

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

main.js
let count = 0;
while (count < 5) {
    count++;
    if (count === 3) {
        continue;
    }
    console.log(count);
}

此 while 循环递增 count,并在 count 等于 3 时跳过迭代。请注意,我们在 continue 之前递增以避免无限循环。 输出显示了除 3 之外的所有数字。

$ node main.js
1
2
4
5

嵌套循环中的 continue

当在嵌套循环中使用时,continue 仅影响最内层的循环。

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

continue 语句仅跳过内部循环的当前迭代,其中 j 等于 1。 外部循环继续正常执行。 这表明 continue 仅影响一个嵌套级别。

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

带有标签语句的 continue

JavaScript 支持带标签的 continue 语句,以定位外部循环。

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

在这里,我们使用带标签的 continue 在满足特定条件时跳到外部循环的下一个迭代。 标签“outerLoop”标识要继续的循环。 这会跳过该外部循环周期的剩余内部循环迭代。

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

跳过奇数

continue 的一个常见用例是跳过特定值。

main.js
for (let i = 0; i < 10; i++) {
    if (i % 2 !== 0) {
        continue;
    }
    console.log(i);
}

此示例通过使用 continue 跳过奇数来仅打印偶数。 条件检查该数字是否为奇数 (i % 2 !== 0),如果为真,则跳到下一个迭代。 这比将所有代码放在 else 块中更简洁。

$ node main.js
0
2
4
6
8

Continue vs break

区分 continuebreak 很重要。

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

此示例展示了这两个关键字的实际应用。 当 i 为 2 时,continue 跳过当前迭代,而当 i 达到 4 时,break 完全退出循环。 输出演示了它们的不同行为。

$ node main.js
0
1
3

实际用例:处理有效数据

这是一个使用 continue 处理有效数据的实际示例。

main.js
const data = [12, 5, 8, 130, 44, null, 3, undefined, 18];

for (let item of data) {
    if (item === null || item === undefined) {
        continue;
    }
    console.log(`Processing valid item: ${item}`);
    // Additional processing would go here
}

此代码处理一个数据数组,使用 continue 跳过 null 或 undefined 值。 当处理不完整或混乱的数据时,此模式很常见。 continue 语句使代码比嵌套条件更具可读性。

$ node main.js
Processing valid item: 12
Processing valid item: 5
Processing valid item: 8
Processing valid item: 130
Processing valid item: 44
Processing valid item: 3
Processing valid item: 18

来源

continue - 语言参考

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

作者

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

查看 所有 JavaScript 教程。