Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 140
5.5.4return
ОглавлениеRufen Sie sich bitte noch einmal ins Gedächtnis, dass Funktionsaufrufe Ausdrücke sind und alle Ausdrücke Werte haben. Eine return-Anweisung innerhalb einer Funktion legt den Wert fest, den Aufrufe dieser Funktion erhalten. Hier die Syntax der return-Anweisung:
return Ausdruck;
Eine return-Anweisung darf nur innerhalb eines Funktionskörpers erscheinen. An anderer Stelle führt das zu einem Syntaxfehler. Wird die return-Anweisung ausgeführt, liefert die Funktion, in der sie steht, den Wert von Ausdruck an den Aufrufer zurück, zum Beispiel:
function square(x) { return x*x; } // Eine Funktion mit einer return-Anweisung.
square(2) // => 4
Enthält eine Funktion keine return-Anweisung, werden einfach alle Anweisungen im Funktionskörper ausgeführt, bis das Ende der Funktion erreicht ist und die Kontrolle wieder an den Aufrufer übergeben wird. In diesem Fall wird der Aufrufausdruck zu undefined ausgewertet. Obwohl die return-Anweisung häufig als letzte Anweisung in einer Funktion steht, muss das nicht so sein: Eine Funktion gibt bei der Ausführung einer return-Anweisung die Kontrolle an den Aufrufer zurück, auch wenn im Funktionskörper noch weitere Anweisungen folgen.
return kann auch ohne Ausdruck verwendet werden, damit die Funktion undefined an den Aufrufer zurückliefert, zum Beispiel:
function displayObject(o) {
// Sofortige Rückkehr zum Aufrufer, wenn das Argument null oder undefiniert ist.
if (!o) return;
// Hier folgt der Rest der Funktion.
}
Aufgrund der automatischen Ergänzung von Semikola in JavaScript (siehe 2.6) darf zwischen dem Schlüsselwort return und dem folgenden Ausdruck kein Zeilenumbruch erfolgen.