揭示模块模式的一个好处就是,在想从另一个方法调用一个公有方法或访问公有变量时,可以不用重复主对象的名称,它能够在私有范围内简单定义所有的函数和变量,并返回一个对象,它拥有指向私有函数的指针,该函数是所展示的公有方法。比如下面这个例子:
var myRevealingModule = function () { var privaterA = 'a'; publicA = 'b'; function privateFunction(){ consloe.log('n' + privateA); } function publicS (s) { privateN = s; } function publicG() { privateFunction (); } // 将暴露的公有指针指向到私有函数和属性上 return { s : publicS; g : publicA; G : publicG; } }(); myRevealingModule.s('xiao ming');
总之该模式就是可以使脚本语法更加一致,还可以改善可读性,更容易指出哪些函数和变量是被公开访问的。不过该模式只适用于函数。