Baseline Widely available
Die return
Anweisung beendet die Ausführung einer Funktion und gibt einen Wert an den Funktionsaufrufer zurück.
function getRectArea(width, height) {
if (width > 0 && height > 0) {
return width * height;
}
return 0;
}
console.log(getRectArea(3, 4));
// Expected output: 12
console.log(getRectArea(-3, 4));
// Expected output: 0
Syntax
return;
return expression;
expression
Optional
Der Ausdruck, dessen Wert zurückgegeben werden soll. Wenn weggelassen, wird undefined
zurückgegeben.
Die return
Anweisung kann nur innerhalb von Funktionskörpern verwendet werden. Wenn eine return
Anweisung innerhalb eines Funktionskörpers verwendet wird, wird die Ausführung der Funktion gestoppt. Die return
Anweisung hat unterschiedliche Auswirkungen, je nachdem, in welcher Funktion sie verwendet wird:
next()
-Methode des erzeugten Generatorobjekts { done: true, value: returnedValue }
zurück.next()
-Methode des erzeugten async Generatorobjekts ein Promise zurück, das mit { done: true, value: returnedValue }
erfüllt ist.Wenn eine return
Anweisung innerhalb eines try
Blocks ausgeführt wird, wird der finally
Block, sofern vorhanden, zuerst ausgeführt, bevor der Wert tatsächlich zurückgegeben wird.
Die Syntax verbietet Zeilentrenner zwischen dem return
Schlüsselwort und dem Ausdruck, der zurückgegeben werden soll.
Der obige Code wird durch die automatische Semikolon-Einfügung (ASI) in:
Dies führt dazu, dass die Funktion undefined
zurückgibt und der a + b
Ausdruck niemals ausgewertet wird. Dies kann eine Warnung in der Konsole hervorrufen.
Um dieses Problem zu vermeiden (um ASI zu verhindern), könnten Sie Klammern verwenden:
Beispiele Eine Funktion unterbrechenEine Funktion stoppt sofort an dem Punkt, an dem return
aufgerufen wird.
function counter() {
// Infinite loop
for (let count = 1; ; count++) {
console.log(`${count}A`); // Until 5
if (count === 5) {
return;
}
console.log(`${count}B`); // Until 4
}
console.log(`${count}C`); // Never appears
}
counter();
// Logs:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
Eine Funktion zurückgeben
Siehe auch den Artikel über Closures.
function magic() {
return function calc(x) {
return x * 42;
};
}
const answer = magic();
answer(1337); // 56154
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4