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