一尘不染

如何在JavaScript中使用显示模块模式

javascript

假设我有一个函数,abc并且正在主JavaScript文件中调用该函数。

这种模式会使事情有所不同吗?谁能告诉我这种模式的基本示例?


阅读 306

收藏
2020-04-25

共1个答案

一尘不染

一个小例子:

var revealed = function(){
   var a = [1,2,3];
   function abc(){
     return (a[0]*a[1])+a[2];
   }

   return {
      name: 'revealed',
      abcfn: abc
   }
}();

在匿名函数中启动,该匿名函数被赋予revealed一个值,a并且abc对该函数是私有的。函数返回的是带有name属性和abcfn属性的对象常量,它是对的引用abcfunction。在abcfunction使用私有变量a。这一切都可以通过使用闭包来完成(该函数范围内的所有内容都可以被该同一函数中的其他所有内容引用)。

显示的用法:

alert(revealed.name);    //=> 'revealed'
alert(revealed.abcfn()); //=> 5 (1*2+3)
2020-04-25