首页 > 代码库 > javascript里的封装

javascript里的封装

  用javascript闭包的特性,可以模拟实现私有变量、私有方法。

 1 var myObject = =(function(){ 2     var privateValue; 3     function privateMethod(){} 4  5     return { 6          getValue: function(){ 7              return privateValue; 8          }, 9          publicMethod: function(){}10     };11 12 })();

 

如果继续用在简单工厂的实现里面

 1 var ObjFactory = (function(){ 2     function Constructor(){ 3         var privateValue; 4         return { 5             getValue: function(){return privateValue;} 6         }; 7     } 8  9     return {10          getInstance: function(){return Constructor();}11     };12 })();

 

对于接口的封装有利于接口和实现的分离。即使将来改变了实现,不会影响到使用接口的代码

var aService = (function(){    function realMethod1(){}    function realMethod2(){}    return {        method1: realMethod1,        method2: realMethod2    };})();