|
有個網友問了個問題,如下的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的閉包特性,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。