码迷,mamicode.com
首页 > 其他好文 > 详细

for循环中保留i值得方法

时间:2018-07-14 16:23:52      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:自定义属性   document   ffffff   font   pac   add   this   效果   style   

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

1.自定义属性:

arr[i].index = i;
以一个事件为例
例如: for(var i =0;i<arr.length;i++){
arr[i].index = i;
arr[i].onclick = funtion(){
var index = this.index;
console.log(index)  //  ===>1,2,3,4
}

}

2 自执行函数:
for(var i=0;i<5;i++){
(function(n){

setTimeout(function(){ 

console.log(n); 

},1000)

})(i)}

==>0,1,2,3,4

3 闭包:
var list =document.querySelectorAll("ul>li");
for(var i=0;i<list.length;i++){
list[i].onclick=function(i){
return function(){
    console.log(i)
    }
    }(i);
}
4 使用ES6语法中的let代替var关键字:
var list =document.querySelectorAll("ul>li");

 

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

==>0,1,2,3 

for循环中保留i值得方法

标签:自定义属性   document   ffffff   font   pac   add   this   效果   style   

原文地址:https://www.cnblogs.com/yunshangwuyou/p/9309483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!