JS事件处理机制,为单线程+事件队列
事件队列中的任务执行条件:
1、主线程已经空闲
2、事件队列中的任务满足触发条件
(1)定时函数(到达延时时间)
(2)事件函数(待定事件被触发,如click事件被点击即立即执行)
(3)ajax的回调函数(服务器端有数据响应)
如下面例子中控制台打印结果为1sum32,主线程遇到定时函数将其放入事件队列中,当主线程按顺序执行完毕且满足延时时间则执行定时函数
console.log(1);
setTimeout(function () {
console.log(2);
},10);
var sum=0;
for(var i=1;i<=100000;i++){
sum+=i;
}
console.log(sum);
console.log(3);