JavaScript 中的非语法中断错误 [已解决]

JavaScript 中的非语法中断错误[已解决]

Unsyntactic break Error in JavaScript [Solved]

我们尝试在 for 循环外部或 for 循环的函数内部使用 break 语句时,会发生“Unsyntactic break”错误。

索引.js
let arr = ['a', 'b', 'c']; arr.forEach(element => { if (element === 'b') { break // 👉️ SyntaxError: Unsyntactic break } console.log('test'); });

上面的代码片段导致错误,因为我们试图break
在函数中使用该语句。

要解决 JavaScript 中的“Unsyntactic break”错误:

  • break在支持 break 关键字的循环中使用语句。
  • 如果您在函数中并且不能使用 break 语句,则在 try/catch 块中抛出错误以跳出循环。
索引.js
let arr = ['a', 'b', 'c']; const BreakError = {}; try { arr.forEach(element => { if (element === 'b') { throw BreakError; } console.log(element); // 👉️ a }); } catch (err) { if (err !== BreakError) throw err; }

在代码片段中,我们抛出一个错误以退出迭代。我们不能break在函数内部使用关键字,所以我们将函数包装在 try/catch 块中,并在需要时抛出错误退出。

我们可以break在以下场景中使用该语句:

  • 基本for循环
  • for … of 循环
  • for … 在循环中
  • while 循环
  • 开关语句

如果您正在使用forEach循环并尝试使用 break 语句,请尝试使用for ... of循环。您可以在
循环中使用
break关键字。for ... of

索引.js
let arr = ['a', 'b', 'c']; for (const element of arr) { if (element === 'b') { break; } console.log(element) // 👉️ a }

进一步阅读

发表评论