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  阅读(1474)  评论(0编辑  收藏  举报