所以我们都知道在这种情况下会出现什么样的JS问题:
for (var i=0;i<5;i++) {
setTimeout(function() {
console.log(i);
}, i*1000);
}
但是,我注意到在某些环境中,这将首先记录setTimeout(计时器ID)的结果,并且仅在此之后记录通常的结果。为什么会这样?是因为这些环境(chrome控制台,ff firebug控制台)总是期望/推断整个声明的“回归”吗?
答案 0 :(得分:0)
Chrome控制台首先显示返回值(ID为setTimeout
)。
之后console.log
。