SyntaxError: continue must be inside loop

continue 語句不在迴圈語句內部時,會發生 JavaScript 異常 "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)

錯誤型別

SyntaxError.

哪裡出錯了?

continue 語句可用於繼續迴圈,在其他地方使用它們是語法錯誤。或者,你可以為 continue 語句提供 label 以繼續帶有該 label 的任何迴圈 — 但是,如果該 label 沒有引用包含語句,則會丟擲另一個錯誤 SyntaxError: label not found,如果該 label 引用的語句不是迴圈,則仍然會丟擲語法錯誤。

示例

在回撥中使用 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
}

另見