注意: 如果您是 TypeScript 新手,请先查看我们的 TypeScript 入门 教程。
continue
语句会跳过循环的当前迭代,并继续到下一个迭代。
这里有一个continue
语句的简单示例。您可以阅读本教程的其余部分以了解更多信息。
示例
// Display odd numbers
for (let i: number = 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
会跳过循环体其余部分的执行。因此,只打印奇数。
TypeScript continue语句的工作原理

注意:continue
语句通常用在条件语句中,例如if...else。
示例 1:TypeScript for 循环中的 continue
我们可以使用continue
语句来跳过for
循环中的迭代。例如,
for (let i: number = 1; i <= 10; ++i) {
// Skip iteration if value of
// i is between 4 and 9 (exclusive)
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:TypeScript while 循环中的 continue
我们也可以在while
循环中使用continue
语句。例如,
let num: number = 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以防止无限循环。
更多关于 TypeScript continue
当continue
在两个嵌套循环中使用时,continue
仅影响内层循环。例如,
// Nested for loops
// Outer loop
for (let i: number = 1; i <= 3; i++) {
// Inner loop
for (let j: number = 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: number = 1; i <= 3; i++) {
innerLoop: for (let j: number = 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: number = 1; i <= 3; i++) {...}
innerLoop: for (let j: number = 1; j <= 3; j++) {...}
这有助于我们识别循环。注意带标签的continue
语句的使用
if (j === 2) {
continue outerLoop;
}
每当j === 2
时,这会跳过outerLoop
的当前迭代。
另请阅读