//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); }
原文:https://www.cnblogs.com/duet/p/14185818.html