了解setTimeout 函數執行
在JavaScript 中,setTimeout 函數有兩個參數:要執行的函數和以毫秒為單位的延遲。然而,開發人員通常會遇到一個問題,即他們的函數立即執行,而不是等待指定的延遲。
問題陳述
當嘗試使用 setTimeout 時,函數正在被即使指定了 2 秒(2000 毫秒)的延遲,也會立即執行。下面的程式碼示範了這個問題:
setTimeout(testfunction(), 2000);
解決方案
這個問題是由於呼叫函數時括號的使用不正確造成的。在提供的程式碼中,使用括號立即呼叫 testfunction(),導致其在 setTimeout 延遲之前執行。
要解決此問題,應從函數呼叫中刪除括號。相反,應該將不帶括號的函數名稱傳遞給 setTimeout,如下所示:
setTimeout(testFunction, 2000);
請注意,刪除括號會阻止函數立即調用,從而使 setTimeout 延遲生效。這將確保函數在指定的時間間隔後執行。
以上是為什麼我的 JavaScript `setTimeout` 函數立即執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!