JavaScript 中的函數呼叫語法:括號或無括號
在JavaScript 中呼叫函數時,其括號的使用會引發其潛力的疑問影響。讓我們探討一下這兩種語法之間的差異:
使用空括號呼叫:
window.onload = initAll();
在這種情況下,函數initAll() 立即被呼叫並回傳值被指派給window.onload。通常,當沒有傳遞參數時,這種方法是不可取的,因為它假設 initAll() 會傳回一個函數。
不帶括號呼叫:
window.onload = initAll;
This語法將函數參考本身分配給 window.onload 而不執行它。這是因為在 JavaScript 中,函數是一等對象,可以像其他變數一樣進行賦值和引用。在這種情況下,initAll 將在發生載入事件時執行。
帶括號的 Lambda 語法:
window.onload = () => initAll();
此 lambda 表達式建立一個呼叫 initAll 的新函數() 被呼叫時立即執行。這裡需要括號以確保立即呼叫 initAll()。然而,對外部函數的參考仍然分配給window.onload,因此initAll將在load事件上執行。
以上是JavaScript 函數呼叫:括號-什麼時候需要它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!