定時(shí)器,又叫計(jì)時(shí)事件带斑,在一個(gè)設(shè)定的時(shí)間間隔之后來執(zhí)行代碼嘶朱,而不是在函數(shù)被調(diào)用后立即執(zhí)行。
js中有兩個(gè)定時(shí)器方法:setInterval()和setTimeout()
清除定時(shí)器的方法對(duì)應(yīng)是:clearInterval()和clearTimeout()
*以上方法都是定義在window上的方法丑搔,可以不使用window前綴。
setInterval()
setInterval叫定時(shí)器還不怎么標(biāo)準(zhǔn),應(yīng)該叫做定時(shí)循環(huán)器啤月,在間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼
第一個(gè)參數(shù)是:函數(shù)(function)
第二個(gè)參數(shù)是:間隔的毫秒數(shù)
clearInterval()
使用?clearInterval() 煮仇,清除setInterval定時(shí)循環(huán)器,傳遞的參數(shù)是定時(shí)器設(shè)置是的全局變量名稱谎仲。
setTimeout()
setTimeout定時(shí)器欺抗,間隔指定毫秒數(shù)執(zhí)行指定代碼,只執(zhí)行一次强重。
第一個(gè)參數(shù)是:函數(shù)(function)
第二個(gè)參數(shù)是:毫秒數(shù)
clearTimeout()
用?clearTimeout() 绞呈,清除setTimeout()定時(shí)器,傳遞的參數(shù)是定時(shí)器設(shè)置時(shí)的全局變量名稱间景。
注意:
1.若在創(chuàng)建定時(shí)器時(shí)沒有名字佃声,則定時(shí)器無法清除;
2.因?yàn)槭侨謱?duì)象window的方法倘要,內(nèi)部函數(shù)this指向的window圾亏;
3.setInterval里面?zhèn)鬟f的毫秒數(shù)只會(huì)在第一次的時(shí)候識(shí)別,之后不能改了封拧。
*另外注意:setTimeout, setInterval是異步任務(wù)