示例:以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毫秒,如果低于这个值,就会自动增加上