关于Event Loop

示例:以setTimeout()为例

console.log(1);
setTimeout(function(){console.log(2);},1000);
console.log(3);
1
2
3
输出1,3,2

如果将setTimeout()的第二个参数设为0,就表示同步任务全部执行完,立即执行(0毫秒间隔)指定的回调函数。

setTimeout(function(){console.log(1);}, 0);
console.log(2);
1
2
输出 2,1

总之,setTimeout(fn,0)的含义是,执行完同步任务之后,成为最早执行的异步任务
HTML5标准规定了setTimeout()的第二个参数的最小值(最短间隔),不得低于4毫秒,如果低于这个值,就会自动增加上

上一篇:es6 bind(this) 方法


下一篇:云朵云朵云朵