|
有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4。
1. <!DOCTYPE HTML>
2. <html>
3. <head>
4. <meta charset="utf-8" />
5. <title>闭包演示</title>
6. <style type="text/css">
7. p {background:gold;}
8. </style>
9. <script type="text/Javascript">
10. function init() {
11. var pAry = document.getElementsByTagName("p");
12. for( var i=0; i<pAry.length; i++ ) {
13. pAry[i].onclick = function() {
14. alert(i);
15. }
16. }
17. }
18. </script>
19. </head>
20. <body onload="init();">
21. <p>产品 0</p>
22. <p>产品 1</p>
23. <p>产品 2</p>
24. <p>产品 3</p>
25. <p>产品 4</p>
26. </body>
27. </html>
it知识库:深入理解JavaScript的闭包特性,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。