文章詳情頁
JS之延時器和定時器執行示例詳解
瀏覽:19日期:2022-06-13 14:03:27
目錄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延時器定時器的資料請關注好吧啦網其它相關文章!
標簽:
JavaScript
排行榜