下面是闭包:
window.onload = function(){ var oli = document.getElementById("list").getElementsByTagName("li"); for(i=0;i<oli.length;i++){ oli[i].onclick = function(n){ return function(){ alert(n); } }(i); } }
下面是给对象添加一个属性,在动态变化中,将变化的值存到对象的属性中,同样可以达到上面闭包,存数据的效果;
window.onload = function(){ var oli = document.getElementById("list").getElementsByTagName("li"); for(i=0;i<oli.length;i++){ oli[i].num = i;//给对象添加一个自定的属性,来存变化的I的值; oli[i].onclick = function(){ alert(this.num); } } }