这里有一份简洁的前端知识体系等待你查收,看看吧,会有惊喜哦~若是以为不错,恳求star哈~前端
模块模式是为单例模式添加私有变量和私有方法,并减小全局变量的使用;以下就是一个模块模式的代码结构:git
var singleMode = (function(){
// 建立私有变量
var privateNum = 112;
// 建立私有方法
function privateFunc(){},
// 建立公有方法
function publicMethod1(){},
function publicMethod2(){},
// 返回一个对象包含公有方法和属性
return {
publicMethod1: publicMethod1,
publicMethod2: publicMethod2
};
})();
复制代码
如上代码,模块模式使用了一个返回对象的匿名函数。在这个匿名函数内部,先定义了私有变量和函数,供内部函数使用,而后将一个对象字面量做为函数的值返回,返回的对象字面量中只包含能够公开的属性和方法。这样的话,能够提供外部使用该方法;因为该返回对象中的公有方法是在匿名函数内部定义的,所以它能够访问内部的私有变量和函数。github
建立一个对象时,须要进行内部初始化,同时对内部属性跟方法有访问权限限制,就须要使用模块模式了。bash