函數引用與帶括號的函數呼叫
在JavaScript 中,括號在區分引用函數和實際調用函數方面起著關重要的作用。
當我們使用 function 關鍵字定義函數時,如範例中 myFunction 是宣告後,函數本身的引用則不帶括號。這是因為宣告在記憶體中創建了一個函數對象,而變數 myFunction 保存了該參考。
另一方面,當我們想要呼叫函數時,我們會使用括號。在給定程式碼的最後一行 myFunction(); 中,括號表示我們立即呼叫 myFunction 函數。
要進一步了解差異,我們可以檢查 setTimeout 函數。 setTimeout 期望函數引用作為其第一個參數。透過傳遞 myFunction,我們向它提供對該函數的參考。這就是 setTimeout(myFunction, 1000) 中不需要括號的原因。
但是,在極少數情況下,在 setTimeout() 中使用括號是有意義的。這是您的函數返回另一個函數的時候。例如,如果 myFunction 傳回一個每秒顯示一次警報的函數,則在 setTimeout(myFunction(), 1000) 中使用括號將導致連續觸發多個警報。
以上是函數引用與函數呼叫:JavaScript 中括號何時重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!