我在找出实现这一点的最佳方法时遇到了一些麻烦。
我想要一个具有构造函数的模块,该构造函数接受一个参数,该参数存储它以供以后在模块中使用。
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 开发人员,所以如果我在这里使用了错误的模式或其他东西,请随时加入。