美文网首页
setTimeout和setInterval的区别

setTimeout和setInterval的区别

作者: lucky_果果 | 来源:发表于2020-03-04 00:00 被阅读0次

1、setTimeout和setInterval两者的返回值Id是唯一的,用于取消定时器。

2、两者用于循环执行时的区别:

(1)setTimeout(fn,time):每间隔time毫秒,将fn放入定时任务的线程。假设time是5ms,则进程开始时,执行到此时,将fn加入定时任务队列(这有不对的请帮忙给我指出来,我有一篇文章是讲解浏览器的渲染过程,说到js的执行机制,链接:https://www.jianshu.com/writer#/notebooks/40531328/notes/61774246),等主线程空闲,且此时距离加入定时任务队列的时间大于等于5ms,为什么会出现大于5毫秒,因为主线程可能出现阻塞。此时有setTimeout制作任务循环,即使主线程发生阻塞,也不会一直想定时任务队列添加定时任务。

(2)setInterval(fn,time):每个time时间向定时任务队列添加定时任务。如果主线程发生阻塞,定时任务也会间隔time时间后,向定时任务队列添加执行任务。

相关文章

网友评论

      本文标题:setTimeout和setInterval的区别

      本文链接:https://www.haomeiwen.com/subject/gxdhoctx.html