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.js
line 上的文件中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
语句或不在函数中的语句。
要解决“意外的令牌返回”错误:
- 更正代码中的任何语法错误。
- 确保只
return
在函数内部使用语句。