JS设计模式三:模块模式

这里有一份简洁的前端知识体系等待你查收,看看吧,会有惊喜哦~若是以为不错,恳求star哈~前端


模块模式简述

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

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

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

模块模式使用场景

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

相关文章
相关标签/搜索