SyntaxError: return 不在函数中

JavaScript 异常 "return not in function" 发生在 return 语句在 函数 之外被调用时。

消息

SyntaxError: Illegal return statement (V8-based)
SyntaxError: return not in function (Firefox)
SyntaxError: Return statements are only valid inside functions. (Safari)

错误类型

哪里出错了?

return 语句在 函数 之外被调用。可能在某些地方缺少花括号?return 语句必须在函数中,因为它会结束函数执行并指定要返回给函数调用者的值。

示例

缺少花括号

js
function cheer(score) {
  if (score === 147)
    return "Maximum!";
  }
  if (score > 100) {
    return "Century!";
  }
}

// SyntaxError: return not in function

乍一看花括号看起来是正确的,但这段代码片段在第一个 if 语句后缺少一个 {。正确的应该是

js
function cheer(score) {
  if (score === 147) {
    return "Maximum!";
  }
  if (score > 100) {
    return "Century!";
  }
}

另请参阅