显示模块模式中的私有成员
Private members in the revealing module pattern
var app = (function(){
var foo = 'x';
var bar = function (){
...
};
var xx = function () {
bar();
}
return {
xx:xx
}
})();
由于该函数是立即调用的函数表达式 (IIFE(,因此会为应用程序 var 分配返回的对象文本。但是私人成员以什么方式返回?成员 foo 是否不存在,因为它未在任何公共方法中引用?对 bar 的引用如何存储在应用变量中?
变量 foo 是私有的,因为它不能从 IIFE 外部访问,但它可以从 xx、bar 和 IIFE 的其他部分访问,因为它在(或高于(其范围内。app 变量只会知道对象 {xx: xx},仅此而已,因此 IFFE 就像一个黑匣子。应用程序变量和相邻的变量知道从中得到什么,但它无法获得内部的任何值,例如 foo。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Node.js正在更改应用程序以使用集群模块
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 找不到模块捆绑包
- JavaScript命名约定;静态“;类或模块
- Typescript模块没有导出的成员-react
- 显示模块模式中的私有成员
- 使用requirejs对延迟加载成员模块进行Typescript
- 推荐在 javascript 模块中限定私有成员范围的方法
- 在dojo模块中引用父级的JSON/javascript成员函数
- Import语句返回未定义的模块成员
- Javascript:揭示模块模式.访问私有成员