JavaScript 中的 setTimeout 和 setInterval 中的时间是怎么控制的

比如说,我写了一个5秒的定时器或延时器,js和浏览器是怎么控制这个时间的,也就是为什么5秒钟以后才执行,它的内部是怎么实现的,为什么5秒钟之前不会执行,这个时间是怎么控制的,特别想知道这个问题,网上也找不到相应的答案

德玛西亚99
浏览 686回答 1
1回答

largeQ

是定时器搞得鬼。JavaScript引擎都有一个定时器timer,当调用setTimeout时,JS引擎会在设定的ms后将传入的函数放入事件队列,排队等待主线程调用。这里涉及的知识包括线程、同步、异步、事和件循环。由于题主关注的问题在于如何控制延迟时间,所以这些问题不在赘述,不过这些知识点值得深入学习。
打开App,查看更多内容
随时随地看视频慕课网APP