首頁 > web前端 > js教程 > JavaScript 中的「setInterval」和「setTimeout」有什麼不同?

JavaScript 中的「setInterval」和「setTimeout」有什麼不同?

Mary-Kate Olsen
發布: 2024-11-14 16:36:02
原創
814 人瀏覽過

What's the Difference Between `setInterval` and `setTimeout` in JavaScript?

JavaScript 中setInterval 和setTimeout 的區別

在JavaScript 中,管理非同步操作至關重要,兩個關鍵函數促進這一點的是“setInterval”和“setTimeout”。了解它們的差異對於有效編碼至關重要。

'setTimeout' 與'setInterval':

setTimeout:

  • 在指定的延遲(超時)後執行一次函數。
  • 語法:setTimeout(表達式, 逾時)
  • 範例:setTimeout(function() {alert("Hello World!") ; }, 1000); // 警報「Hello World! 」一秒內。

setInterval:

  • 以指定的時間間隔(超時)重複執行函數。
  • 語法:setInterval (表達式,超時)
  • 範例:setInterval(function() { console.log("每秒執行一次"); }, 1000); // 每秒記錄一次訊息。

主要區別:

  • 執行頻率: setTimeout 執行一次,而 setInterval重複執行。
  • 用途: setTimeout 用於延遲操作或調度,而 setInterval 用於週期性任務或動畫。
  • 控制: setInterval可以透過呼叫clearInterval(intervalID)來停止,而setTimeout一旦安排就無法明確停止。
  • 回呼: setInterval會自動為回呼分配一個間隔ID,可用來取消。 setTimeout 不指派間隔 ID。

範例:

考慮兩種情況:

  • 警報「Hello World!」5 秒後一次:使用setTimeoutout 。
  • 每 2 秒記錄一次「This is Running」:使用 setInterval。

代碼:

// Alert after 5 seconds
setTimeout(function() { alert("Hello World!"); }, 5000);

// Log every 2 seconds
var intervalID = setInterval(function() { console.log("This is Running"); }, 2000);

// Stop logging after 10 seconds
setTimeout(function() { clearInterval(intervalID); }, 10000);
登入後複製

以上是JavaScript 中的「setInterval」和「setTimeout」有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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