setTimeout和setInterval的區別

2021-08-22 08:37:07 字數 1023 閱讀 8758

使用方式:

settimeout (表示式, 延時時間)

setinterval(表示式, 互動時間)

settimeout()方法是在等待指定時間後執行函式內容, 且只執行一次傳入的表示式。

click on the button above. an alert box will be displayed after 5 seconds.

setinterval()方法是每指定間隔時間後執行一次傳入的表示式,迴圈執行直至關閉視窗或clearinterval()。

stop interval

settimeout用於延遲執行:

let x = 1;

settimeout(() => x++, 0);

console.log(x);

若在控制台輸出,也就是非同步呼叫時會獲得2

setinterval用於間隔執行:

let x = 1;

var interval1 = setinterval(() => x++, 1000);

console.log(x);

若非同步呼叫時,每個1秒會發現x增1

let a = 1;

let timerid = settimeout(function() ,0);

console.log('outer:', a);

有一些開發過程中的最佳實踐:

1.settimeout和setinterval的第乙個引數不建議傳遞字串,傳遞字串和eval有一樣的問題,會造成效能方面的問題,甚至引起安全問題。

2.建議用settimeout模擬setinterval,不建議使用setinterval。頁面中settimeout和cleartimeout不配合使用基本上不會出現問題,因為settimeout只執行一次,不會造成累加的問題,使用setinterval的話,強烈建議在適當時候使用clearinterval,在這種情況,很容易出現問題

setTimeOut和setInterval的區別

區別 window.settimeout function time 設定乙個超時物件,只執行一次,無週期 window.setinterval function time 設定乙個超時物件,週期 互動時間 停止定時 window.cleartimeout 物件 清除已設定的settimeout物件...

setTimeout和setInterval的區別

雖然網上有很多兩者區別的文章,但是經常搞混了,好記性不如爛筆頭,記錄一下。語法 settimeout code,millisec setinterval code,millisec lang 它們都有兩個引數,乙個是將要執行的 字串,還有乙個是以毫秒為單位的時間間隔,當過了那個時間段之後就將執行那段...

setTimeout和setInterval踩得坑

如果又想設定定時關閉,又想設定輪詢,settimeout 呼叫關閉定時器的時候必須用函式包裹起來清除定時器操作。settimeout clear,60000 一分鐘之後關閉介面 定時檢視訂單狀態 function clear var ordertimer setinterval function 傳...