SyntaxError: return not in function

Das JavaScript-Exception "return not in function" tritt auf, wenn eine return-Anweisung außerhalb einer Funktion aufgerufen wird.

Nachricht

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

Fehlertyp

Was ist schiefgelaufen?

Eine return-Anweisung wird außerhalb einer Funktion aufgerufen. Möglicherweise fehlen irgendwo geschweifte Klammern? Die return-Anweisung muss in einer Funktion stehen, da sie die Funktionsausführung beendet und einen Wert an den Funktionsaufrufer zurückgibt.

Beispiele

Fehlende geschweifte Klammern

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

// SyntaxError: return not in function

Die geschweiften Klammern sehen auf den ersten Blick korrekt aus, aber in diesem Codeausschnitt fehlt eine { nach der ersten if-Anweisung. Korrekt wäre:

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

Siehe auch