for循环保存i值的方法

通常情况下,因为一些效果我们需要获取到for循环中的i的值,但是往往拿到的都是最后一个i的值。下面介绍几种方法可以获取到i的值

1.自定义属性

arr[i].index = i;

2 自执行函数:

for(var i = 0 ; i < 5; i++){
(function(n){
setTimeout(function(){
console.log(n)
},1000)
})(i)
}

3 闭包:

for(var i = 0 ; i < lis.length ; i++) {
lis[i].onclick=function(i){
return function(){
console.log(i)
}
}(i);
}

4 使用ES6语法中的let代替var关键字

for(let i = 0 ; i < lis.length ; i++) {
lis[i].onclick=function(i){
console.log(i)
}
}

posted @ 2017-06-29 20:08  rainbow8590  阅读(1545)  评论(0)    收藏  举报