SyntaxError: return not in function

訊息

SyntaxError: return not in function
SyntaxError: yield not in function

錯誤類型

哪裡錯了?

returnyield (en-US) 宣告在函式以外的地方被呼叫。也許少寫了一個大括號?returnyield 宣告必須要寫在函式裡面,因為它們結束(或暫停並恢復)函式的執行,並且回傳了特定值。

實例

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

// SyntaxError: return not in function

乍看之下大括號寫對了,但其實在第一個 if 的後面,少了一個 {。正確的寫法應該是:

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

參見