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

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

Linda Hamilton
Linda Hamilton原創
2024-12-02 07:08:09685瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn