javascript变量存储

var i = 1;

开辟一个空间名为i,并且存储值为1。

 

var li = document.getElementsByTagName('li');
for(var i = 0; i < li.length; i++){
  li[i].addEventListener('click',function(e){
    alert(i);
  }
}

点击li时,alert出的相同的结果,i的值都为li.length的值。

给每个li注册点击事件,并绑定回调函数function(e)(alert( i)。在点击事件触发后执行回调函数时,i变量的存储值为li.length。

 

var li = document.getElementsByTagName('li');
for(var i = 0; i < li.length; i++){
  (function(index){
    li[i].addEventListener('click',function(e){
      alert(index);
    }
  })(i);
}

点击li时,正确alert出每个li的索引位置。

执行每次for循环时,通过自执行函数把当前i的值传递给参数变量index,在执行回调函数时,读取参数的index值。index值不释放。

 

转载于:https://www.cnblogs.com/fe-huahai/p/6388873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值