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 }