Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. 语句和声明
  5. continue

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

continue

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

continue 声明终止当前循环或标记循环的当前迭代中的语句执行,并在下一次迭代时继续执行循环。

尝试一下

let text = "";for (let i = 0; i < 10; i++) {  if (i === 3) {    continue;  }  text = text + i;}console.log(text);// Expected output: "012456789"

语法

js
continue;continue label;
label

标识标签关联的语句

描述

break 语句的区别在于,continue 并不会完全终止循环的执行,而是:

continue 语句可以包含一个可选的标签以控制程序跳转到指定循环的下一次迭代,而非当前循环。这种情况要求continue 语句在被标识的语句内部。

在脚本、模块、函数体或静态初始块的顶层不能使用continue 语句(无论是否带有后续标签),即使该函数或类进一步包含在循环中也不行。

示例

在 while 语句中使用 continue

下述例子展示了一个在i 为 3 时执行continue 语句的while 循环。因此,n 的值在几次迭代后分别为 1、3、7 和 12。

js
i = 0;n = 0;while (i < 5) {  i++;  if (i === 3) {    continue;  }  n += i;}

使用带标签的 continue

在下面的例子中,被标记为checkiandj 的语句包含一个被标记为checkj 的语句。当遇到continue 语句时,程序回到checkj 语句的开始继续执行。每次遇到continue 时,再次执行checkj,直到条件判断返回 false。之后完成checkiandj 语句剩下的部分。

但如果continue 的标号被改为checkiandj ,那程序将会从checkiandj 语句的开始继续运行。

js
let i = 0;let j = 8;checkIAndJ: while (i < 4) {  console.log(`i:${i}`);  i += 1;  checkJ: while (j > 4) {    console.log(`j:${j}`);    j -= 1;    if (j % 2 === 0) continue checkJ;    console.log(`${j} 是奇数。`);  }  console.log(`i = ${i}`);  console.log(`j = ${j}`);}

输出:

i:0// checkj 开始j:87 是奇数。j:7j:65 是奇数。j:5// checkj 结束i = 1j = 4i:1i = 2j = 4i:2i = 3j = 4i:3i = 4j = 4

语法错误的 continue 语句

continue 不能在跨越函数边界的循环中使用。

js
for (let i = 0; i < 10; i++) {  (() => {    continue; // SyntaxError: Illegal continue statement: no surrounding iteration statement  })();}

引用标签时,标签语句必须包含continue 语句。

js
label: for (let i = 0; i < 10; i++) {  console.log(i);}for (let i = 0; i < 10; i++) {  continue label; // SyntaxError: Undefined label 'label'}

标记的语句必须是一个循环。

js
label: {  for (let i = 0; i < 10; i++) {    continue label; // SyntaxError: Illegal continue statement: 'label' does not denote an iteration statement  }}

规范

Specification
ECMAScript® 2026 Language Specification
# sec-continue-statement

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp