為什麼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中文網其他相關文章!