setTimeOut和setInterval工作原理

昨天看高性能javascript。看到了关于这俩的工作原理记录一下

setTimeout与setInterval使用方法基本相同,他们接受两个参数,第一个参数是需要执行的函数,第二个参数是执行的延迟时间。

以上都是我们熟悉的内容。

setTimeout在指定的延迟时间到达后 向ui队列添加一个任务,函数会立即执行。

并不是说在指定的Time后,ui一定会立马执行,而是在Time之后添加一个任务。通常setTimeout执行时的时间会比我们设定的Time要长。因为这个任务会等待队列中的其他任务执行完之后再执行。

对于setInterval,和setTimeout一样,会在指定间隔时间到之后向ui队列添加任务,但是有一点。如果队列中已经有同一个setInterval的任务存在,就不往里面添加setInterval的任务。
这也是这俩定时器的主要区别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容