<body> <div> DIV 0</div> <div>DIV 1</div> <script type="text/javascript"> var divs = document.getElementsByTagName("div"); for( var i = 0; i < div.length; i++) (function(n){ div[n].addEventListener("click", function(){ alert("div #"+ n "was clicked.");},false); })(i); </script> </body>
闭包记住的是变量的引用reference,而不是闭包创建时刻该变量的值。