SyntaxError: return not in function

return 語句在 函式 外部被呼叫時,會發生 JavaScript 異常“return not in function”。

訊息

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

錯誤型別

SyntaxError.

哪裡出錯了?

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!";
  }
}

另見