for( var i = 1; i < 10; i++ ){
setTimeout( function(){
colsole.log(i);
}, i * 1000);
}
我能理解为什么最后输出的全是10, 但是我不能理解为什么是1秒1次;求解答?
按我的理解,应该是第一次1秒,第二次2秒,,依次下去
for( var i = 1; i < 10; i++ ){
setTimeout( function(){
colsole.log(i);
}, i * 1000);
}
我能理解为什么最后输出的全是10, 但是我不能理解为什么是1秒1次;求解答?
按我的理解,应该是第一次1秒,第二次2秒,,依次下去
setTimeout 是异步的,当你执行第一个console的时候 i 已经增加到10了。异步与闭包的问题