按秒输出0,1,2,3,4,5(闭包)

//1: let 块级独立作用域
for(let i=0; i<=5; i++){
    setTimeout(()=>{
      console.log(i);
    }, i * 1000);
}
//2:立即执行函数,定义后立即执行,将变量包裹成局部变量。
for(var i=0; i<=5; i++){
  (function (j){
    setTimeout(()=>{
      console.log(j);
    }, j*1000)
  })(i) 
}
//3: setTimeout第三个参数,作为中间函数执行时的参数
for(var i=0; i<=5; i++){
  setTimeout((j)=>{
    console.log(j);
  }, i*1000, i);
}

 

posted @ 2020-12-24 18:58  `Duet`  阅读(134)  评论(0编辑  收藏  举报