JavaScript continue 语句

continue 语句跳过当前循环迭代,并继续到下一个迭代。

下面是一个演示continue语句的简短示例。您可以阅读本教程的其余部分以了解更多信息。

示例

// display odd numbers

for (let i = 1; i <= 5; i++) {
    // skip the iteration if i is even
    if (i % 2 === 0) {
        continue;
    }
    console.log(i);
}

// Output:
// 1
// 3
// 5

在这里,当 i 是偶数时,continue 会跳过循环体的其余部分。因此,只打印奇数。


JavaScript continue 语句的工作原理

Working of continue statement in JavaScript
JavaScript continue 语句的工作原理

注意continue 语句通常在条件语句中使用,例如 if...else


示例 1:JavaScript continue 与 for 循环

我们可以使用 continue 语句在 for 循环中跳过迭代。例如,

for (let i = 1; i <= 10; ++i) {

    // skip iteration if value of
    // i is between 4 and 9
    if (i > 4 && i < 9) {
        continue;
    }
    console.log(i);
}

输出

1
2
3
4
9
10

在上面的示例中,我们使用了一个 for 循环来打印每次迭代中变量 i 的值。请注意语句,

if (i > 4 && i < 9) {
    continue;
}

这里,每当 i 大于 4 且小于 9 时,就会执行 continue 语句。

因此,输出会跳过值 5678


示例 2:JavaScript continue 与 while 循环

我们也可以将 continue 语句与 while 循环一起使用。例如,

var num = 1;

while (num <= 10) {

// skip iteration if num is even if (num % 2 === 0) { ++num; continue; }
console.log(num); ++num; }

输出

1
3
5
7
9

在上面的示例中,我们使用了一个 while 循环来打印 110 之间的奇数。请注意该行,

if (num % 2 === 0) {
    ++num;
    continue
}

当数字是偶数时,

  1. 变量 num 的值会为下一次迭代而增加。
  2. 然后,continue 语句会跳过当前迭代。

请注意,我们在 if 语句内部和外部都增加了 num 的值。

在 if 块内

在执行 continue 语句之前,您必须增加 num 的值。否则,您将创建一个无限循环,因为 num <= 10 将始终为 true

在 if 块外

if 块未执行时,您增加 num 的代码也将被跳过。因此,您必须在 if 块外再次增加 num 以防止无限循环。


更多关于 JavaScript continue

JavaScript continue 与嵌套循环。

continue 在两个嵌套循环中使用时,continue 只会影响内层循环。例如,

// nested for loops

// outer loop
for (let i = 1; i <= 3; i++) {

    // inner loop
    for (let j = 1; j <= 3; j++) {
        if (j == 2) {
            continue;
        }
        console.log(`i = ${i}, j = ${j}`);
    }
}

输出

i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

在上面的程序中,当 j == 2 时,continue 语句仅跳过内层循环的迭代。

Using continue inside a nested loop
在嵌套循环中使用 continue
使用带标签的 continue。

在嵌套循环中,可以通过使用带标签的 continue 语句来跳过外层循环的迭代。

Working of labeled break statement in JavaScript
JavaScript 中带标签的 break 语句的工作原理

让我们看一个例子。

outerloop: for (let i = 1; i <= 3; i++) {
  
    innerloop: for (let j = 1; j <= 3; j++) {

        if (j === 2) {
            continue outerloop;
        }

        console.log("i = " + i + ", j = " + j);
    }
}

输出

i = 1, j = 1
i = 2, j = 1
i = 3, j = 1

在上面的示例中,我们为循环标记了

outerloop: for (let i = 1; i <= 3; i++) {...}
innerloop: for (let j = 1; j <= 3; j++) {...}

这有助于我们识别循环。请注意带标签的 continue 语句的用法

if (j === 2) {
    continue outerloop;
}

j === 2 时,这会跳过 outerloop 的当前迭代。


另请阅读

视频:JavaScript continue 语句

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战