何時使用括號,何時不使用?
在 JavaScript 中,了解何時使用括號、何時不使用括號至關重要,尤其是在函數中參考。考慮下面的程式碼:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
為什麼 setTimeout 中的函數呼叫不需要括號,而最後一行卻需要?
Nutshell
詳細說明
setTimeout 接受函數引用作為參數。在第一行中,setTimeout(myFunction, 1000) 傳遞不含括號的函數引用,因為它需要引用。
但是,在最後一行中,myFunction() 實際上是在呼叫函數。為了呼叫函數,我們使用括號來執行它。因此,myFunction() 執行函數,因此需要括號。
Exception
在某些情況下 setTimeout(myFunction(), 1000) 可能是適當的,例如當 myFunction() 傳回一個函數時。例如:
function myFunction() { return function() { alert("ohai") } } // Or const myFunction = () => () => alert("ohai")
本例中,setTimeout(myFunction(), 1000):
這會導致每秒發出一次警報。
結論
理解函數引用中括號的用途對於有效的 JavaScript 至關重要程式設計。透過記住括號表示函數調用,您可以根據需要正確使用它們來調用函數或傳遞函數參考。
以上是何時在 JavaScript 函數引用中使用括號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!