SyntaxError:JavaScript 中的意外标记“返回”

SyntaxError:JavaScript 中的意外标记“返回”

SyntaxError: Unexpected Token ‘return’ in JavaScript

“Uncaught SyntaxError: Unexpected token return”发生在我们的 JavaScript 代码中存在语法错误或在return函数外部使用语句时。

要解决该错误,请确保更正任何语法错误并仅return在函数内部使用该语句。

意外的令牌返回

以下是错误发生方式的一些示例。

索引.js
function example(){ const a = 3, // 👈️ comma instead of semicolon return a // ⛔️ Uncaught SyntaxError: Unexpected token 'return' } return 5; // 👈️ return outside function if (true) { // 👈️ return outside function return 10; } for (let i = 0; i < 3; i++) { // 👈️ return outside function return 15; } function abc() { // ⛔️ Can't use return in expressions true && (return 'hello'); }

在第一个示例中,我们使用逗号而不是分号造成了语法错误。

索引.js
function example(){ // ✅ now using a semicolon (correct) const a = 3; return a }

其他示例使用return函数外部的语句。

确保只return在函数内部使用语句。

索引.js
// ✅ using return inside of named function function greet() { return 'hello world'; } // ✅ using return in an arrow function const greet2 = () => { return 'hello world'; }; // ✅ implicit return from an arrow function const greet3 = () => 'hello world';

最后一个示例return在表达式中使用语句,这在 JavaScript 中是不允许的。

您可以通过查看浏览器的控制台或 Node.js 终端来查看发生错误的确切行。

意外的令牌返回

上面的截图显示错误发生在index.jsline 上的文件中17

如果需要退出for循环,请使用break语句而不是
return关键字。

索引.js
const arr = ['a', 'b', 'c']; for (let index = 0; index < arr.length; index++) { console.log(arr[index]); if (arr[index] === 'b') { console.log('success'); break; } }

break语句用于在满足特定条件时退出循环。

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

您可以将鼠标悬停在波浪形的红线上以获取更多信息。

一个常见的错误是试图使用return循环内的
if语句或不在函数中的语句。

要解决“意外的令牌返回”错误:

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