javascript闭包与对象属性都可以存动态数据

下面是闭包:

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);    
            }
        }
    }    
原文地址:https://www.cnblogs.com/lufy/p/2551651.html