js中.setInterval 存在的问题如何解决【面试题详解】

今天爱分享给大家带来js中.setInterval 存在的问题如何解决【面试题详解】,希望能够帮助到大家。
定时器的代码执行部分不断的被调入任务队列中,如果定时器的执行时间比间隔时间长,最终可能导致定时器堆叠在一起执行。

js 引擎为了解决这个问题,采用的方式是若任务队列中存在这个定期器,则不会将新的定时器放入任务队列,这样做的弊端是可能导致某些间隔被跳过。

解决方法:循环调用setTimeout来实现setInterval:(即用setTimeout来实现setInterval


 setTimeout(function fn(){
    ...
    setTimeout(fn,delay)
},delay)

人已赞赏
前端

js中.instanceof 的原理是什么?【面试题详解】

2020-12-29 17:53:48

前端

JS 的基本代码规范有哪些【面试题详解】

2020-12-29 17:54:56

'); })();