新行上的JavaScript 回傳語句:為什麼失敗
考慮以下JavaScript 程式碼:
<code class="javascript">function correct() {
return 15;
}
function wrong() {
return
15;
}</code>
登入後複製
Correct( ) 函數傳回預期值15,而Right() 函數意外回傳undefined。此行為與其他程式語言不同。
當 return 語句位於新行時,JavaScript 會在前一行的結尾插入一個分號。這是因為分號在 JavaScript 中是可選的,但解釋器插入它們是為了保持程式碼清晰。
在錯誤的()函數中,JavaScript 在返回後插入分號,這實際上終止了函數並忽略了以下行。因此,它返回未定義。
要避免此問題,您可以在傳回值兩邊使用括號或避免將其放在新行上。例如:
<code class="javascript">function wrong() {
return(
15);
}</code>
登入後複製
以括號開始表達式,JavaScript 知道跳過在換行符處插入分號。這樣可以確保回傳值正確回傳。
以上是為什麼在 JavaScript 中將「return」語句放在新行上會導致「undefined」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!