JS之延時器和定時器執(zhí)行示例詳解
或
clearTimeout(1); //清除第一個定時器setTimeout使一段代碼在指定時間后運行,僅運行一次2. 定時器setInterval:定時重復(fù)執(zhí)行setInterval("function",time) 設(shè)置一個超時對象,該方法返回一個id表示一個定時器var timer2 = setInterval(function(){},1000); //timer2->2 (當(dāng)前是第二個定時器)clearInterval(對象) 清除已設(shè)置的setInterval對象:由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)clearInterval(timer2);//清除定時器或
clearInterval(2);//清除第二個定時器setInterval使一段代碼每過指定時間就運行一次,自動重復(fù)總結(jié):兩種方法根據(jù)不同的場景和業(yè)務(wù)需求擇而取之,一般情況下setTimeout用于延遲執(zhí)行某方法或功能,
setInterval則一般用于刷新表單,對于一些表單的假實時指定時間刷新同步。
setInterval會產(chǎn)生回調(diào)堆積,特別是時間很短的時候,一般不用setInterval,而用setTimeout的延時遞歸來代替interval。
很多人習(xí)慣于將setTimeout包含于被執(zhí)行函數(shù)中,然后在函數(shù)外再次使用setTimeout來達到定時執(zhí)行的目的, 這樣,函數(shù)外的setTimeout在執(zhí)行函數(shù)時再次觸發(fā)setTimeout,從而形成周而復(fù)始的定時效果。使用的時候各有各的優(yōu)勢,使用setInterval,需要手動停止。而使用方法中嵌套setTimeout,可以根據(jù)方法內(nèi)部本身的邏輯不再調(diào)用setTimeout就等于停止了觸發(fā)。其實兩個東西完全可以相互模擬,具體使用那個,看當(dāng)時的需要而定了。
示例:
var intervalId = setInterval(function(){ console.log('love');},1000);setTimeout(function(){ console.log('yaya'); clearInterval(intervalId);},5000); console.log('yang');運行結(jié)果:
> "yang"> "love"> "love"> "love"> "love"> "love"> "yaya"
或
> "yang"> "love"> "love"> "love"> "love"> "yaya"
以上就是JS之延時器和定時器執(zhí)行示例詳解的詳細內(nèi)容,更多關(guān)于JS延時器定時器的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
