目錄 1. 延時器setTimeout:延時執行一次 2. 定時器setInterval:定時重復執行 總結: 1. 延時器setTimeout:延時執行一次 setTimeout(function,time) 設置一個超時對象 ,該方法接收一個id表示一個定
目錄
- 1. 延時器setTimeout:延時執行一次
- 2. 定時器setInterval:定時重復執行
- 總結:
1. 延時器setTimeout:延時執行一次
- setTimeout("function",time) 設置一個超時對象 ,該方法接收一個id表示一個定時器
var timer1 = setTimeout(function(){},1000); //timer1->1 (當前是第一個定時器)
- clearTimeout(對象) 清除已設置的setTimeout對象 :由 setTimeout() 返回的 ID 值可用作 clearInterval() 方法的參數
clearTimeout(timer1); //清除定時器
或
clearTimeout(1); //清除第一個定時器
- setTimeout使一段代碼在指定時間后運行,僅運行一次
2. 定時器setInterval:定時重復執行
- setInterval("function",time) 設置一個超時對象,該方法返回一個id表示一個定時器
var timer2 = setInterval(function(){},1000); //timer2->2 (當前是第二個定時器)
- clearInterval(對象) 清除已設置的setInterval對象:由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數
clearInterval(timer2);//清除定時器
或
clearInterval(2);//清除第二個定時器
- setInterval使一段代碼每過指定時間就運行一次,自動重復
總結:
兩種方法根據不同的場景和業務需求擇而取之,一般情況下setTimeout用于延遲執行某方法或功能,
setInterval則一般用于刷新表單,對于一些表單的假實時指定時間刷新同步。
setInterval會產生回調堆積,特別是時間很短的時候,一般不用setInterval,而用setTimeout的延時遞歸來代替interval。
很多人習慣于將setTimeout包含于被執行函數中,然后在函數外再次使用setTimeout來達到定時執行的目的, 這樣,函數外的setTimeout在執行函數時再次觸發setTimeout,從而形成周而復始的定時效果。使用的時候各有各的優勢,使用setInterval,需要手動停止。而使用方法中嵌套setTimeout,可以根據方法內部本身的邏輯不再調用setTimeout就等于停止了觸發。其實兩個東西完全可以相互模擬,具體使用那個,看當時的需要而定了。
示例:
var intervalId = setInterval(function(){ console.log("love"); },1000); setTimeout(function(){ console.log("yaya"); clearInterval(intervalId); },5000); console.log("yang");
運行結果:
> "yang"
> "love"
> "love"
> "love"
> "love"
> "love"
> "yaya"
或
> "yang"
> "love"
> "love"
> "love"
> "love"
> "yaya"
以上就是JS之延時器和定時器執行示例詳解的詳細內容,更多關于JS延時器定時器的資料請關注技圈網其它相關文章!
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。