下面是闭包:
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); } } }
本文探讨了JavaScript中闭包的使用,通过一个实例展示了如何利用闭包保存变量状态。同时,文章还介绍了另一种方法,即给DOM元素动态添加属性来存储数据,以此达到与闭包相似的效果。
151

被折叠的 条评论
为什么被折叠?



