JS设计模式三:模块模式

模块模式简述

模块模式是为单例模式添加私有变量和私有方法,并减少全局变量的使用;如下就是一个模块模式的代码结构:

var singleMode = (function(){
    // 创建私有变量
    var privateNum = 112;
    // 创建私有方法
    function privateFunc(){},
    // 创建公有方法
    function publicMethod1(){},
    function publicMethod2(){},
    // 返回一个对象包含公有方法和属性
    return {
        publicMethod1: publicMethod1,
        publicMethod2: publicMethod2
    };
})();

如上代码,模块模式使用了一个返回对象的匿名函数。在这个匿名函数内部,先定义了私有变量和函数,供内部函数使用,然后将一个对象字面量作为函数的值返回,返回的对象字面量中只包含可以公开的属性和方法。这样的话,可以提供外部使用该方法;由于该返回对象中的公有方法是在匿名函数内部定义的,因此它可以访问内部的私有变量和函数。

模块模式使用场景

创建一个对象时,需要进行内部初始化,同时对内部属性跟方法有访问权限限制,就需要使用模块模式了。

你可能感兴趣的:(JS设计模式三:模块模式)