JS設計模式三:模組模式

明易發表於2018-12-05

這裡有一份簡潔的前端知識體系等待你查收,看看吧,會有驚喜哦~如果覺得不錯,懇求star哈~


模組模式簡述

模組模式是為單例模式新增私有變數和私有方法,並減少全域性變數的使用;如下就是一個模組模式的程式碼結構:

var singleMode = (function(){
    // 建立私有變數
    var privateNum = 112;
    // 建立私有方法
    function privateFunc(){},
    // 建立公有方法
    function publicMethod1(){},
    function publicMethod2(){},
    // 返回一個物件包含公有方法和屬性
    return {
        publicMethod1: publicMethod1,
        publicMethod2: publicMethod2
    };
})();
複製程式碼

如上程式碼,模組模式使用了一個返回物件的匿名函式。在這個匿名函式內部,先定義了私有變數和函式,供內部函式使用,然後將一個物件字面量作為函式的值返回,返回的物件字面量中只包含可以公開的屬性和方法。這樣的話,可以提供外部使用該方法;由於該返回物件中的公有方法是在匿名函式內部定義的,因此它可以訪問內部的私有變數和函式。

模組模式使用場景

建立一個物件時,需要進行內部初始化,同時對內部屬性跟方法有訪問許可權限制,就需要使用模組模式了。

相關文章