SyntaxError:JavaScript 中的非法返回语句

SyntaxError: JavaScript 中的非法 return 语句

SyntaxError: Illegal return statement in JavaScript

“SyntaxError: Illegal return statement”发生在return函数外部使用该语句时。

要解决错误,请确保仅使用return命名函数或箭头函数内的语句。该语句结束函数的执行并将值返回给调用者。

非法退货声明

以下是错误发生时间的示例。

索引.js
// ⛔️ don't return outside a function return 42; // ✅ Use return inside a function function getNum() { return 42; } if (true) { // ⛔️ don't return outside a function return 10; } for (let i = 0; i < 3; i++) { // ⛔️ don't return outside a function return 15; } function example() // 👈️ has a missing curly brace { return true }

“SyntaxError: Illegal return statement”最常见的原因是在return函数外部使用语句。

确保只return在函数内部使用关键字。

索引.js
// ✅ return inside named function function getNum() { return 42; } // ✅ return inside arrow function const example = () => { return 42; }; // ✅ implicit return using arrow function const another = () => 'bobbyhadz.com'; // ✅ implicitly return object from arrow function const another2 = () => ({ id: 1, site: 'bobbyhadz.com', });

下面的if语句和for循环不在函数内部,所以我们不能return在其中使用语句。

索引.js
if (true) { // ⛔️ don't return outside a function return 10; } for (let i = 0; i < 3; i++) { // ⛔️ don't return outside a function return 15; }

相反,您应该将if语句包装在一个函数中。

索引.js
function test() { if (true) { return 100; } return 200; }

如果你需要退出一个for循环,你应该使用一个break语句而不是
return.

索引.js
const arr = ['bobby', 'hadz', 'com']; for (let index = 0; index < arr.length; index++) { console.log(arr[index]); if (arr[index] === 'hadz') { // 👇️ exit the loop break; } }

break语句 can 用于提前退出循环

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

  • 基本for循环
  • for ... of循环
  • for ... in循环
  • while循环
  • switch声明

下面是一个使用break语句退出for...of循环的例子。

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

循环中的if语句for...of检查每次迭代是否满足条件。

一旦if块运行,我们使用break语句退出for...of
循环。

引发错误的另一个常见原因是我们代码中的语法错误。

您可以通过打开浏览器的控制台或 Node.js 终端来检查代码的哪一行引发了错误。

非法退货声明

在屏幕截图中,我们可以看到错误是index.js在 line 上的文件中引发的5

您可以将代码粘贴到在线语法验证器中。验证器应该能够告诉您错误发生在哪一行。

您可以将鼠标悬停在波浪形的红线上,以获取有关引发错误原因的更多信息。

要解决“非法返回语句”错误:

  1. 确保只return在函数内部使用语句。
  2. 更正代码中的任何语法错误。