何時在函數呼叫中使用括號
檢查以下程式碼時:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
有人可能想知道為什麼setTimeout內的函數呼叫不需要括號,而獨立函數呼叫
理解區別
超時函數參數
超時參數中的括號
在setTimeout(myFunction(), 1000) 中包含括號可能會產生意想不到的後果如果myFunction 傳回一個函數(例如,使用箭頭函數)。在這種情況下,setTimeout 將接收 myFunction 的回傳值而不是函數參考本身。這可能會導致重複的函數執行或意外行為。 因此,當使用 setTimeout 或需要函數引用的類似方法時,通常建議省略函數參數的括號。
以上是為什麼 `setTimeout` 中的函數呼叫不總是用括號括起來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!