前端面试问到setTImeout与setInterval区别
生活随笔
收集整理的這篇文章主要介紹了
前端面试问到setTImeout与setInterval区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
基礎(chǔ)知識
setTimeout
超時(shí)調(diào)用,超過時(shí)間T,就執(zhí)行fn
setInterval
間歇調(diào)用,調(diào)用周期t,執(zhí)行fn
相同點(diǎn)
二者調(diào)用后均返回?cái)?shù)值ID,可以用來取消。
清除setInterval比較重要
setInterval間隔時(shí)間不準(zhǔn)確原因
1 假如fn執(zhí)行時(shí)間大于周期的話,會導(dǎo)致間隔時(shí)間不準(zhǔn)確。
因?yàn)樗仨殘?zhí)行完上一個(gè)后才會去執(zhí)行下一個(gè),假如上一個(gè)使用時(shí)間超過間隔時(shí)間,下一個(gè)函數(shù)會在上一個(gè)函數(shù)執(zhí)行結(jié)束之后立即執(zhí)行,所以間隔不準(zhǔn)確。
2 當(dāng)一個(gè)函數(shù)時(shí)間特別長,以至于發(fā)出多個(gè)fn,會導(dǎo)致多個(gè)fn被忽略,因?yàn)槿蝿?wù)隊(duì)列不會有兩個(gè)以上的同一個(gè)定時(shí)器函數(shù)存在。
總結(jié)
以上是生活随笔為你收集整理的前端面试问到setTImeout与setInterval区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CM5800内置 100V/5A MOS
- 下一篇: setTimeout前端面试题