for(var i=1;i<=5;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
//6 6 6 6 6
for( i=1;i<=5;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
//6 6 6 6 6
for(let i=1;i<=5;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
//1 2 3 4 5
for( i=1;i<=5;i++){
setTimeout((function(){
console.log(i);
})(),i*1000);
}
//1 2 3 4 5
push函数的使用 function fn1() { var arr = [] for (var i=0;i<3;i++) { //关键是var i=0; arr.push(function () { return i }) } return arr } function fn2() { var arr=[] for(var i=0;i<3;i++){ arr.push((function (num){ return function dd() { return num } })(i)) } return arr } function fn3() { var arr=[] for (var i=0;i<3;i++){ arr.push((function (num) { return num })(i)) } return arr } var a = fn1() console.log(a[0]()) //3 arr=[3,3,3] var b = fn2() console.log(b[0]()) //1 arr=[0,1,2] var c = fn3() console.log(c[1]) //2 arr=[0,1,2]
function fn1() { var arr = [] for (let i=0;i<3;i++) { //对比上面的代码,关键是let i=0 arr.push(function () { return i }) } return arr }
var a = fn1() console.log(a[0]()) //0 arr=[0,1,2]