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
undefinedzurü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".
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 Latest 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) |