猿问

for因闭包引起的实际问题

$(document).ready(function(){
varspans=$("#divTestspan");
for(vari=0;ispans[i].onclick=function(){
alert(i);
}
}
});
01
23
我很纠结的是:为什么每个span点击的时候个弹出的i值都为length
函数式编程
浏览 430回答 2
2回答

慕的地6264312

点击的时候再去取i,此时i已经变成length你看这个例子就懂了closureclicki++varelement=document.getElementById("myBtn");varelement2=document.getElementById("myBtn2");vari=0;element.addEventListener("click",function(e){alert(i);});element2.addEventListener("click",function(e){i++;});

FFIVE

这样写就可以了。$(document).ready(function(){varspans=$("#divTestspan");for(vari=0;i
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答