首頁 >web前端 >js教程 >為什麼 JavaScript 中 `return` 之後的換行會導致回傳 `undefined`?

為什麼 JavaScript 中 `return` 之後的換行會導致回傳 `undefined`?

Patricia Arquette
Patricia Arquette原創
2024-11-06 11:20:03897瀏覽

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

Javascript:為什麼新行上的 Return 語句不起作用?

在 JavaScript 中,return 語句用來從函數傳回值。但是,當傳回值放在新行上時,可能會出現意外行為。讓我們深入研究為什麼會發生這種情況。

為了說明這個問題,請考慮以下程式碼:

在 Correct() 函數中,return 15 語句位於一行。運行此函數將傳回預期值 15。但是,error() 函數的 return 語句後面跟著一個新行。執行這個函數傳回 undefined 而不是 15。

令人驚訝的是,下面的 error() 實作可以正常工作:

這表明語法沒有錯誤,那麼為什麼第一個錯誤呢? () 執行失敗?

理解分號的作用

在 JavaScript 中,分號是可選的。但是,解釋器會自動將它們插入到它認為必要的某些換行符處。在第一個錯誤()實現的情況下,返回後的換行符號會觸發分號的插入。

產生的程式碼如下所示:

這是不正確的,因為return 語句現在後面跟著一個表達式 (15),這是不允許的。

救援括號

在第二個Error() 實作中,括號 ( ) 將 return 15 表達式括起來可防止解釋器插入分號。相反,表達式保持不變,從而得到正確的回傳值。

因此,在 JavaScript 中,使用 return 語句時,請確保它位於單行上,並且沒有任何後續表達式。如有必要,使用括號來控制分號插入行為並達到所需的回傳值。

以上是為什麼 JavaScript 中 `return` 之後的換行會導致回傳 `undefined`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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