有人可以帮助我理解为什么编写此代码:
for (var i =0; i < 2; i++) {
setTimeout(console.log(i), 0);
}
console.log("aaa");
会写:
0
1
aaa
但是该代码:
for (var i =0; i < 2; i++) {
setTimeout(function(){console.log(i)}, 0);
}
console.log("aaa");
会想:
aaa
2
2
请注意,我了解第二版。工作,我不明白为什么第一个使它与众不同。
谢谢!