Javascript变量let差异
此代码的输出为0 1 2 3 4Javascript变量let差异,javascript,Javascript,此代码的输出为0 1 2 3 4 for (let i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, i * 1000 ); } for(设i=0;i
for (let i = 0; i < 5; i++) {
setTimeout(function() { console.log(i); }, i * 1000 );
}
for(设i=0;i<5;i++){
setTimeout(函数(){console.log(i);},i*1000);
}
这个代码的输出是5
for (var i = 0; i < 5; i++) {
setTimeout(function() { console.log(i); }, i * 1000 );
}
for(变量i=0;i<5;i++){
setTimeout(函数(){console.log(i);},i*1000);
}
我理解var和let的区别在于作用域。但我在这里不明白。为什么输出如此不同。这是否回答了您的问题?