這裡有一份簡潔的前端知識體系等待你查收,看看吧,會有驚喜哦~如果覺得不錯,懇求star哈~
模組模式簡述
模組模式是為單例模式新增私有變數和私有方法,並減少全域性變數的使用;如下就是一個模組模式的程式碼結構:
var singleMode = (function(){
// 建立私有變數
var privateNum = 112;
// 建立私有方法
function privateFunc(){},
// 建立公有方法
function publicMethod1(){},
function publicMethod2(){},
// 返回一個物件包含公有方法和屬性
return {
publicMethod1: publicMethod1,
publicMethod2: publicMethod2
};
})();
複製程式碼
如上程式碼,模組模式使用了一個返回物件的匿名函式。在這個匿名函式內部,先定義了私有變數和函式,供內部函式使用,然後將一個物件字面量作為函式的值返回,返回的物件字面量中只包含可以公開的屬性和方法。這樣的話,可以提供外部使用該方法;由於該返回物件中的公有方法是在匿名函式內部定義的,因此它可以訪問內部的私有變數和函式。
模組模式使用場景
建立一個物件時,需要進行內部初始化,同時對內部屬性跟方法有訪問許可權限制,就需要使用模組模式了。