首頁 >web前端 >js教程 >為什麼 JavaScript 的「return」語句會失敗並在新行上傳回值?

為什麼 JavaScript 的「return」語句會失敗並在新行上傳回值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-08 04:20:02528瀏覽

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

為什麼Javascript 的Return 語句失敗並在新行上傳回值

考慮下面的JavaScript 程式碼:

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

function wrong() {
    return
          15;
}

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

在此範例中,正確() 正確回傳15,而錯誤() 莫名其妙地回傳undefined。這種行為與其他程式語言不同。下面的 bad() 替代實作修正了這個問題:

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

為什麼會發生這種情況?

JS 解釋器可以在認為有必要時在某些換行符處插入分號。但是,他們的判斷可能與預期有所不同。

當 return 語句後面跟著換行符號時,JS 解譯器會在 return 語句後面插入分號。這會導致錯誤()函數的程式碼被修改為:

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

現在這是不正確的。

相反,帶有添加括號的錯誤()的修改版本開始一個表達式帶左括號。 JS 解譯器會辨識這一點並避免插入分號,從而保留預期的行為。

以上是為什麼 JavaScript 的「return」語句會失敗並在新行上傳回值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn