通常情况下,因为一些效果我们需要获取到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)
}
}