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 语句的工作原理

注意: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
语句。
因此,输出会跳过值 5、6、7 和 8。
示例 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
循环来打印 1 到 10 之间的奇数。请注意该行,
if (num % 2 === 0) {
++num;
continue
}
当数字是偶数时,
- 变量 num 的值会为下一次迭代而增加。
- 然后,
continue
语句会跳过当前迭代。
请注意,我们在 if
语句内部和外部都增加了 num 的值。
在 if 块内
在执行 continue
语句之前,您必须增加 num 的值。否则,您将创建一个无限循环,因为 num <= 10
将始终为 true
。
在 if 块外
当 if
块未执行时,您增加 num 的代码也将被跳过。因此,您必须在 if
块外再次增加 num 以防止无限循环。
更多关于 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
语句仅跳过内层循环的迭代。

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

让我们看一个例子。
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
的当前迭代。
另请阅读