Heim > Web-Frontend > js-Tutorial > Warum führt ein Zeilenumbruch nach „return' in JavaScript dazu, dass „undefiniert' zurückgegeben wird?

Warum führt ein Zeilenumbruch nach „return' in JavaScript dazu, dass „undefiniert' zurückgegeben wird?

Patricia Arquette
Freigeben: 2024-11-06 11:20:03
Original
924 Leute haben es durchsucht

Why Does a Newline After `return` in JavaScript Cause `undefined` to Be Returned?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage