首页 > 其他 > 详细

闭包题

时间:2017-12-09 23:42:49      阅读:338      评论:0      收藏:0      [点我收藏+]

 


  **********************************************************************************************************************************


题目:

技术分享图片

一般错误答案如下:

1     var li = document.getElementsByTagName(li);
2     for(var i = 0; i < li.length; i++){
3         li[i].addEventListener(‘click‘,function(){
4             console.log(‘我是第‘ + i + ‘个li‘);
5         },false);
6     }

结果运行结果为,点击不同的li都显示是5

技术分享图片

 

 

正确答案如下:

(用到立即执行函数)

 1 <body>
 2     <ul>
 3         <li>a</li>
 4         <li>a</li>
 5         <li>a</li>
 6         <li>a</li>
 7         <li>a</li>
 8     </ul>
 9 <script type="text/javascript">
10     var li = document.getElementsByTagName(‘li‘);
11 
12     var li = document.getElementsByTagName(‘li‘);
13     for(var i = 0; i < li.length; i++){
14         (function(j){
15             li[j].addEventListener(‘click‘,function(){
16                 console.log(‘我是第‘ + j + ‘个li‘);
17             },false);
18 
19         }(i));
20     }
21 
22 </script>
23 </body>

技术分享图片


 

闭包题

原文:http://www.cnblogs.com/wood2012/p/8012911.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!