首頁 > web前端 > js教程 > 為什麼我的 JavaScript `setTimeout` 函數會立即執行?

為什麼我的 JavaScript `setTimeout` 函數會立即執行?

Barbara Streisand
發布: 2024-12-23 08:56:10
原創
485 人瀏覽過

Why Does My JavaScript `setTimeout` Function Execute Instantly?

理解JavaScript 中setTimeout 的行為

當嘗試使用setTimeout 函數實現時間延遲時,必須了解該函數的原因可以立即執行,而不是等待預期的持續時間。

問題:

在您的程式碼中,您錯誤地立即呼叫函數 testfunction() ,然後將其傳回值傳遞給 setTimeout 進行調度。這會導致函數立即執行。

解決方案:

正確的語法包括從函數呼叫中刪除括號:

setTimeout(testFunction, 2000);
登入後複製
登入後複製

省略括號,您將對函數本身的參考傳遞給setTimeout,而不是立即執行它並提供其回傳值。這確保了函數的執行被安排在指定的延遲。

因此,要以 2 秒的延遲執行 testFunction,請使用下列語法:

setTimeout(testFunction, 2000);
登入後複製
登入後複製

以上是為什麼我的 JavaScript `setTimeout` 函數會立即執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板