Heim >Web-Frontend >js-Tutorial >Warum schlägt die „return'-Anweisung von JavaScript mit einem Rückgabewert in einer neuen Zeile fehl?

Warum schlägt die „return'-Anweisung von JavaScript mit einem Rückgabewert in einer neuen Zeile fehl?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-08 04:20:02537Durchsuche

Why Does JavaScript's `return` Statement Fail with a Return Value on a New Line?

Warum die Return-Anweisung von Javascript mit dem Rückgabewert in einer neuen Zeile fehlschlägt

Betrachten Sie den folgenden JavaScript-Code:

<code class="javascript">function correct() {
    return 15;
}

function wrong() {
    return
          15;
}

console.log("correct() called : "+correct());
console.log("wrong() called : "+wrong());</code>

Korrigieren Sie in diesem Beispiel () gibt korrekterweise 15 zurück, während false() aus unerklärlichen Gründen undefiniert zurückgibt. Dieses Verhalten unterscheidet sich von anderen Programmiersprachen. Die folgende alternative Implementierung von false() behebt das Problem:

<code class="javascript">function wrong() {
    return(
          15);
}</code>

Warum passiert das?

JS-Interpreter fügen optional Semikolons an bestimmten Zeilenumbrüchen ein, wenn sie dies für notwendig erachten. Allerdings kann ihr Urteil von der Absicht abweichen.

Wenn auf eine Return-Anweisung ein Zeilenumbruch folgt, fügt der JS-Interpreter nach der Return-Anweisung ein Semikolon ein. Dies führt dazu, dass der Code der Funktion „falsch()“ wie folgt geändert wird:

<code class="javascript">function wrong() {
    return;
          15;
}</code>

Das ist jetzt falsch.

Im Gegensatz dazu startet die geänderte Version von „falsch()“ mit den hinzugefügten Klammern einen Ausdruck mit einer offenen Klammer. Der JS-Interpreter erkennt dies und verzichtet auf das Einfügen eines Semikolons, um das beabsichtigte Verhalten beizubehalten.

Das obige ist der detaillierte Inhalt vonWarum schlägt die „return'-Anweisung von JavaScript mit einem Rückgabewert in einer neuen Zeile fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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