Javascript: Warum funktioniert die Return-Anweisung in einer neuen Zeile nicht?
In JavaScript wird die Return-Anweisung verwendet, um einen Wert von einer Funktion zurückzugeben. Allerdings kann es zu unerwartetem Verhalten kommen, wenn der Rückgabewert in eine neue Zeile eingefügt wird. Sehen wir uns genauer an, warum das passiert.
Um das Problem zu veranschaulichen, betrachten Sie den folgenden Code:
<code class="javascript">function correct() { return 15; } function wrong() { return 15; }</code>
In der Funktion „correct()“ befindet sich die Anweisung „return 15“ in einer einzelnen Zeile. Beim Ausführen dieser Funktion wird der erwartete Wert 15 zurückgegeben. Bei der Funktion „falsch()“ folgt jedoch auf die Return-Anweisung eine neue Zeile. Das Ausführen dieser Funktion gibt undefiniert anstelle von 15 zurück.
Überraschenderweise funktioniert die folgende false()-Implementierung korrekt:
<code class="javascript">function wrong() { return( 15); }</code>
Dies deutet darauf hin, dass die Syntax nicht falsch ist. Warum ist also die erste falsch? () Implementierung fehlgeschlagen?
Die Rolle von Semikolons verstehen
In JavaScript sind Semikolons optional. Der Interpreter fügt sie jedoch automatisch an bestimmten Zeilenumbrüchen ein, wenn er sie für notwendig hält. Im Fall der ersten false()-Implementierung löst die neue Zeile nach der Rückgabe das Einfügen eines Semikolons aus.
Der resultierende Code sieht so aus:
<code class="javascript">function wrong() { return; 15; }</code>
Das ist falsch, da der Auf die return-Anweisung folgt nun ein Ausdruck (15), der nicht zulässig ist.
Klammern zur Rettung
In der zweiten false()-Implementierung werden die Klammern ( ), die den Return-15-Ausdruck einschließen, verhindern, dass der Interpreter ein Semikolon einfügt. Stattdessen bleibt der Ausdruck intakt, was zum korrekten Rückgabewert führt.
Stellen Sie daher in JavaScript bei der Verwendung der Return-Anweisung sicher, dass sie sich in einer einzelnen Zeile ohne nachfolgende Ausdrücke befindet. Verwenden Sie bei Bedarf Klammern, um das Einfügeverhalten von Semikolons zu steuern und den gewünschten Rückgabewert zu erreichen.
Das obige ist der detaillierte Inhalt vonWarum führt ein Zeilenumbruch nach „return' in JavaScript dazu, dass „undefiniert' zurückgegeben wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!