SyntaxError: return not in function

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

Meldung

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

Fehlerart

Was ist schiefgelaufen?

Eine return-Anweisung wird außerhalb einer Funktion aufgerufen. Vielleicht fehlen irgendwo geschweifte Klammern? Die return-Anweisung muss sich in einer Funktion befinden, da sie die Ausführung der Funktion beendet und einen Wert angibt, der an den Funktionsaufrufer zurückgegeben wird.

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 ein { nach der ersten if-Anweisung. Korrekt wäre:

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

Siehe auch