语法错误:continue 必须在循环内部

JavaScript 异常 "continue 必须在循环内" 发生在 continue 语句不在循环语句内时。

消息

SyntaxError: Illegal continue statement: no surrounding iteration statement (V8-based)
SyntaxError: Illegal continue statement: 'label' does not denote an iteration statement (V8-based)
SyntaxError: continue must be inside loop (Firefox)
SyntaxError: 'continue' is only valid inside a loop statement. (Safari)
SyntaxError: Cannot continue to the label 'label' as it is not targeting a loop. (Safari)

错误类型

哪里出了问题?

continue 语句可用于继续循环,在其他地方使用它们是语法错误。或者,您可以为 continue 语句提供一个 标签 以继续具有该标签的任何循环 - 但是,如果标签没有引用包含语句,则会抛出另一个错误 SyntaxError: label not found,如果标签引用了不是循环的语句,则仍然会抛出语法错误。

示例

在回调中使用 continue

如果要继续进行 forEach() 循环的下一轮迭代,请使用 return 代替,或者将其转换为 for...of 循环。

js
array.forEach((value) => {
  if (value === 5) {
    continue; // SyntaxError: continue must be inside loop
  }
  // do something with value
});
js
array.forEach((value) => {
  if (value === 5) {
    return;
  }
  // do something with value
});
js
for (const value of array) {
  if (value === 5) {
    continue;
  }
  // do something with value
}

另请参阅