0
<script type="text/javascript">
function init() {
var pArry = document.getElementsByTagName("p");
for(var i=0; i<pAry.length; i++) {
pArry[i].onclick = function() {
alert(i);
}
}
}
</script>
</head>
<body onload="init();">
<p>test 0</p>
<p>test 1</p>
<p>test2</p>
<p>test3</p>
<p>test4</p>
爲什麼結果都是5?我想reault是(0,1,2 ....)。
這不完全凍結i'的'值 - 而這會爲每個封閉一個*新*'i'(通過新的功能範圍內),其具有當應用外部匿名函數時當前'i'(來自循環)的初始值。我認爲不重複使用'i'可能會使意圖更清楚。 – 2011-06-25 07:25:11