需求 打印出0-5
for(var i=0;i<=5;i++){
setTimeout(() => {
console.log(i); //6个6
});
}
使用作用域解决 把var换成let
for(let i=0;i<=5;i++){
setTimeout(() => {
console.log(i); // 0-5
});
}
使用闭包解决 自执行函数
for (var i = 0; i <= 5; i++) {
(function (i) {
setTimeout(() => {
console.log(i) //0-5
})
})(i)
}