当执行setTimeout的线程执行完毕后,才会执行setTimeout的逻辑,这是因为,js引擎会将setTimeout放入单独的队列,当前线程执行完毕后,再执行timeout队列。
API
setTimeout(func,ms,param1,param2);
举例
console.log("before....");
setTimeout(function(){
console.log("setTimeout function().....");
},0); //故意将延迟时间设置为0,立刻执行
console.log("after....");
结果
before....
after....
setTimeout function().....
event-loop,线程栈的执行完毕后,才会执行事件队列
本文深入解析JavaScript中的定时器setTimeout的工作原理。通过实例说明了事件循环机制下,主线程如何处理setTimeout任务,揭示了即使设置0毫秒延迟也会在主线程执行完后再执行的原因。
348

被折叠的 条评论
为什么被折叠?



