首頁 > web前端 > js教程 > 為什麼 `setTimeout(GetUsersNumber(), 5000)` 立即執行而不是 5 秒後執行?

為什麼 `setTimeout(GetUsersNumber(), 5000)` 立即執行而不是 5 秒後執行?

Linda Hamilton
發布: 2024-12-02 07:08:09
原創
752 人瀏覽過

Why Does `setTimeout(GetUsersNumber(), 5000)` Execute Immediately Instead of After 5 Seconds?

setTimeout 中的函數呼叫與函數物件

為了避免伺服器過載,Web 開發人員打算使用每5 秒更新一次頁值setTimeoutout ()。然而,程式碼中的函數似乎是立即觸發的,而不是延遲的。

提供的程式碼中:

<pre class="brush:php;toolbar:false">
setTimeout(GetUsersNumber(), 50000);
登入後複製

錯誤在於函數呼叫和函數物件的區別JavaScript。在這種情況下,函數名稱後麵包含括號,表示函數呼叫。要正確使用 setTimeout,需要函數對象,該函數對象的定義不帶括號。

透過將程式碼修改為:

<pre class="brush:php;toolbar:false">
setTimeout(GetUsersNumber, 5000);
登入後複製

setTimeout 現在將在指定的延遲後呼叫GetUsersNumber 函數物件5秒,確保頁值依照期望的時間間隔更新,而不會使伺服器過載。

以上是為什麼 `setTimeout(GetUsersNumber(), 5000)` 立即執行而不是 5 秒後執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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