跳到主要内容

JavaScript continue 语句

提示
  1. continue语句的作用continue语句用于跳过循环的当前迭代,并将程序控制流转移到下一次迭代。
  2. continue在for循环中的应用:在for循环中,continue会跳过当前迭代,并继续执行循环的下一次迭代。
  3. continue在嵌套循环中的行为:在嵌套循环中使用continue时,它只会跳过内层循环的当前迭代,而外层循环继续执行。

continue 语句用于跳过循环的当前迭代,程序控制流程转移到下一次迭代。

continue 语句的语法是:

continue [label];

注意: label 是可选的,很少使用。

JavaScript continue 语句的工作原理

JavaScript 中 continue 语句的工作原理

在 for 循环中使用 continue

for 循环中,continue 跳过当前迭代,控制流程跳转到 updateExpression

示例 1:打印 i 的值

// 程序打印 i 的值
for (let i = 1; i <= 5; i++) {
// 继续的条件
if (i == 3) {
continue;
}

console.log(i);
}

输出

1;
2;
4;
5;

在上述程序中,使用 for 循环在每次迭代中打印 i 的值。

注意循环内的 continue 语句。

if(i == 3) {
continue;
}

这意味着

  • 当 i 等于 3 时,continue 语句跳过第三次迭代。
  • 然后,i 变成 4,再次评估测试条件continue 语句。
  • 因此,在接下来的两次迭代中打印了 45

注意continue 语句几乎总是与决策语句一起使用。要了解更多,请访问 JavaScript if...else 语句

要了解更多关于 for 循环,请访问 JavaScript for 循环

注意break 语句完全终止循环。然而,continue 语句只跳过当前迭代。

在 while 循环中使用 continue

while 循环中,continue 跳过当前迭代,程序控制流程跳回 while 条件。

continue 语句对于 whiledo...while 循环的工作方式相同。

示例 2:计算正数

// 程序计算正数
// 如果用户输入负数,该数从计算中被跳过

// 负数 -> 循环终止
// 非数字字符 -> 跳过迭代

let sum = 0;
let number = 0;

while (number >= 0) {
// 加所有正数
sum += number;

// 从用户那里取得输入
number = parseInt(prompt("输入一个数字:"));

// continue 条件
if (isNaN(number)) {
console.log("您输入了一个字符串。");
number = 0; // number 的值再次设为 0
continue;
}
}

// 显示总和
console.log(`总和为 ${sum}`);

输出

输入一个数字:1
输入一个数字:2
输入一个数字:hello
您输入了一个字符串。
输入一个数字:5
输入一个数字:-2
总和为 8

在上述程序中,用户输入一个数字。使用 while 循环打印用户输入的正数总和。

注意使用的 continue 语句。

if (isNaN(number)) {
continue;
}
  • 当用户输入一个非数字字符/字符串时,continue 语句跳过当前迭代。然后程序控制流程转移到 while 循环的条件
  • 当用户输入小于 0 的数字时,循环终止。

在上述程序中,使用 isNaN() 来检查用户输入的值是否为数字。

要了解更多关于 while 循环,请访问 JavaScript while 循环

在嵌套循环中使用 continue

continue 在两个嵌套循环中使用时,continue 跳过内部循环的当前迭代。例如,

// 嵌套 for 循环

// 第一个循环
for (let i = 1; i <= 3; i++) {
// 第二个循环
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);

在上述程序中,当执行 continue 语句时,它跳过内部循环的当前迭代,程序控制流程转移到内部循环的 updateExpression

因此,输出中从未显示 j = 2 的值。

JavaScript 标记的 continue

当使用嵌套循环时,您可以跳过当前迭代,程序控制流程可以传递到带 label 语句的 updateExpression

但是,带标记的 continue 在 JavaScript 中很少使用,因为这会使代码更难阅读和理解。

如果您想了解更多关于带标记的 continue 语句,请访问 带标记的 continue