考虑这个简单的例子:
var count = 0;
for (var i = 0; i < 4; i++ ) {
    setTimeout(function() {
      console.log(i, count++);
    }, i * 200);
}
输出以下内容
4 0
4 1
4 2
4 3
我猜这i总是解析为4,因为setTimeout回调关闭了变量I,但我无法弄清楚为什么同样不适用于count?
var count = 0;
for (var i = 0; i < 4; i++ ) {
  setTimeout(function() {
    console.log(i, count++);
  }, i * 2000 );
}| 归档时间: | 
 | 
| 查看次数: | 64 次 | 
| 最近记录: |