<script type="text/javascript"> for(var i=0;i<10;i++){ (function(i){ var a=document.createElement('a'); a.innerHTML=i+'<br>'; document.body.appendChild(a); a.addEventListener('click',function(e){ e.preventDefault(); //取消默认事件,指a标签 alert(i); }); })(i); } </script>
2019年再来看下,写的有点尴尬,而这篇反而被看的最多。此问题是闭包原因,解决方法也不止立即执行函数一种,可以多看看闭包相关文章。