JavaScript中私有成员和共有成员

JavaScript中私有成员和共有成员

//带有循环的闭包:
function foo(){
    var result=[];
    for(var i=0;i<10;i++){
        result[i]=function (){return i};    
    }
    return result;
}
var bar=foo();
bar[0](); //10
bar[1](); //10
bar[2](); //10
bar[3](); //10

//循环拥有真正自己的i
function foo2(){
   var result=[];
   for(var i=0;i<10;i++){
     result[i]=(function (e){
         return function (){
             return e; 
         }
     })(i);   
   }
   return result;
}
var bar2=foo2();
bar2[0]();  //0
bar2[1]();  //1
bar2[2]();  //2

//创建了所以单个函数的 自己的变量(私有变量)

var aaa=(function (){
     var a=1;
     function bbb(){
        a++;
        alert(a); 
     }
     function ccc(){
        a++;
        alert(a); 
     }
     return {   //返回json结构  公有
        b:bbb,
        c:ccc
     }
})();
aaa.b();
aaa.c();
原文地址:https://www.cnblogs.com/mc67/p/5192883.html