javascript, Javascript bug



在控制台中运行下一个代码

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

为什么4个值只有3个值?控制台

您在控制台中获得setTimeout的返回值。

返回的timeoutID是一个数字,非零值,标识了setTimeout();呼叫创建的计时器此值可以将其传递给clearTimeout()以取消超时。

知道setTimeout()setInterval()共享同一ID池可能会有所帮助,并且clearTimeout()clearInterval()可以互换使用。但是,为了清楚起见,您应该始终尝试匹配它们,以避免在维护代码时

console.log(setTimeout(function(){
   console.log('#' + 1);
}, 2));
console.log('#' + 2);
console.log(setTimeout(function(){
   console.log('#' + 3);
}, 1));

最新更新