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;
Atomare Semikolon-Einfügung
Die return
Anweisung wird von der atomaren Semikolon-Einfügung (Automatic semicolon insertion or 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".
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
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initiale Definition. |
ECMAScript 5.1 (ECMA-262) Die Definition von 'Return statement' in dieser Spezifikation. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Return statement' in dieser Spezifikation. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) Die Definition von 'Return statement' in dieser Spezifikation. |
Entwurf |
Browserkompatibilität
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) |