【发布时间】:2013-08-22 12:44:00
【问题描述】:
我在找出实现这一点的最佳方法时遇到了一些麻烦。
我想要一个具有构造函数的模块,该构造函数接受一个参数,该参数存储它以供以后在模块中使用。
var ModuleB = function(moduleA) {
this.moduleA = moduleA;
}
ModuleB.prototype = function() {
//private stuff/functions
function someMethod() {
moduleA.doSomething();
}
//public api
return {
someMethod : someMethod
};
}();
在其他文件中
//ModuleA defined elsewhere
var moduleA = new ModuleA();
//...
var module = new ModuleB(moduleA);
module.someMethod();
现在在someMethod 中,moduleA 是未定义的,this 是全局窗口对象。有人可以解释我如何访问moduleA吗?我不明白构造函数之后this.moduleA = moduleA; 会发生什么。我不是真正的 javascript 开发人员,所以如果我在这里使用了错误的模式或其他什么,请随时加入。
【问题讨论】:
-
我更新了示例以使其更清晰
-
@Chase 小提琴工作的唯一原因是因为
moduleA是全球性的。
标签: javascript revealing-module-pattern