return

Die return Anweisung beendet einen Funktionsaufruf und spezifiziert einen Wert, der von der Funktion zum Aufrufer zur├╝ckgegeben wird.

Syntax

return [[expression]]; 
expression
Ausdruck, der zur├╝ckgegeben wird. Wenn er weggelassen wird, wird undefined zur├╝ckgegeben.

Beschreibung

Wenn in einer Funktion eine return Anweisung aufgerufen wird, wird der Aufruf der Funktion gestoppt. Wenn ein R├╝ckgabewert spezifiziert ist, wird dieser zu der aufrufenden Funktion zur├╝ckgegeben. Wenn kein R├╝ckgabewert angegeben wird, wird stattdessen undefined zur├╝ckgegeben. Die folgenden return Anweisungen unterbrechen alle den Funktionsaufruf:

return;
return true;
return false;
return x;
return x + y / 3;

Automatische Semikolon-Einf├╝gung

Die return Anweisung wird von der automatischen Semikolon-Einf├╝gung (Automatic semicolon insertion, kurz ASI) beeinflusst. Es ist kein Zeilenumbruch zwischen dem return Schl├╝sselwort und dem nachfolgenden Ausdruck erlaubt.

return
a + b;

wird durch ASI umgewandelt in:

return;
a + b;

Die Konsole wird folgende Warnung ausgeben: "unreachable code after return statement".

Mit Gecko 40 (Firefox 40 / Thunderbird 40 / SeaMonkey 2.37), wird eine Warnung in der Konsole ausgegeben, wenn Quelltext gefunden wird, der nach einer return Anweisung steht.

Beispiele

return

Die folgende Funktion gibt das Quadrat von x zur├╝ck. Dabei ist x eine Zahl.

function square(x) {
   return x * x;
}

Unterbrechen einer Funktion

Eine Funktion stoppt die Ausf├╝hrung, wenn return aufgerufen wird.

function counter() {
  for (var count = 1; ; count++) {  // infinite loop
    console.log(count + "A"); // until 5
      if (count === 5) {
        return;
      }
      console.log(count + "B");  // until 4
    }
  console.log(count + "C");  // never appears
}

counter();

// Output:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A

Funktion als R├╝ckgabewert

Sie dazu auch im Artikel Closures.

function magic(x) {
  return function calc(x) { return x * 42 };
}

var answer = magic();
answer(1337); // 56154

Spezifikationen

Browserkompatibilit├Ąt

Wir konvertieren die Kompatibilit├Ątsdaten in ein maschinenlesbares JSON Format. Diese Kompatibilit├Ątstabelle liegt noch im alten Format vor, denn die darin enthaltenen Daten wurden noch nicht konvertiert. Finde heraus wie du helfen kannst!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Ja) (Ja) (Ja) (Ja) (Ja)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

Siehe auch