按秒输出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); }