1、利用闭包
for(var i=0;i<6;i++){
(function(j){
setTimeout(function(){
console.log(j);
},j*1000);
})(i)
}
2、利用ES6的let创建块级作用域
for(let i=0;i<6;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
3、利用setTimeout的第三个参数(传给回调函数的参数)
for(var i=0;i<6;i++){
setTimeout(function(j){
console.log(j);
},i*1000,i);
}