for循环中使用setTimeout打印多个同样的值 使用闭包 或者作用域解决

需求 打印出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)
      }
上一篇:Day5


下一篇:day5