js事件循环、window.setTimeout 延迟执行

本文深入解析JavaScript中的定时器setTimeout的工作原理。通过实例说明了事件循环机制下,主线程如何处理setTimeout任务,揭示了即使设置0毫秒延迟也会在主线程执行完后再执行的原因。

当执行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,线程栈的执行完毕后,才会执行事件队列

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值