setTimeout(function(){},1000);
该方法会返回一个timeId;可以用clearTimeout(timeId)销毁
setTimeout(fn(),0)
解释关于0ms
的误解:如果当前时钟周期内执行队列空闲,则立即执行该定时器,将回调函数加入到事件队列;
var start=0,end=0,d=new Date(),i=0;
var timer=setTimeout(function(){
end+=new Date-d;
timer=setTimeout(arguments.callee,0);
if(i++=5000){
clearTimeout(timer);
console.log(end/i);
}
d=new Date();
},0);
这个程序log:0.030560
说明oms也不是立刻执行的。