概念
模塊模式的思路 就是 就是單例模式添加私有屬性和私有方法,減少全局變量的使用。
簡單的代碼結構:
var singleMode = (function(){ // 創建私有變量 var privateNum = 100; // 創建私有函數 function privateFunc(){ // 實現自己的業務邏輯代碼 } // 返回一個對象包含公有方法和屬性 return { publicMethod1: publicMethod1, publicMethod2: publicMethod1 }; })();
什么時候使用模塊模式?
如果我們必須創建一個對象並對某些對象進行初始化時,同時還要公開訪問這些私有數據的方法,name這個時候我們就可以使用模塊模式了。
增強的模塊模式
增強的模塊模式的使用場合是:適合那些單列必須是某種類型的實例,同時還必須添加某些屬性或方法對其加以增強的情況。
function CustomType() { this.name = "GaoSir"; }; CustomType.prototype.getName = function(){ return this.name; } var application = (function(){ // 定義私有 var privateA = "privateA"; // 定義私有函數 function privateMethodA(){}; // 實例化一個對象后,返回該實例,然后為該實例增加一些公有屬性和方法 var object = new CustomType(); // 添加公有屬性 object.publicA = "publicA"; // 添加公有方法 object.publicB = function(){ return privateA; } // 返回該對象 return object; })();
console.log(application.publicA);// publicA
console.log(application.publicB()); // privateA
console.log(application.name); // GaoSir
console.log(application.getName());// GaoSir