我问了一个问题:
想象一下,我有一个javascript模块(使用显示模块模式),我想在一个对象的一些原型方法中使用它。你认为最好的方法是什么? 我目前有两个想法: - 将全局模块传递给对象的构造函数并将其保存在对象属性中(this.myModule ...) - 直接使用原型方法中的模块作为全局变量
让我用一个小例子向你解释一下情况:
我有包含模块的file1.js:
var myModule = (function(){
function doSomething(){...}
return {doSomething: doSomething};
})()
要使用此模块,哪两个选项最适合您?或者你可能有更好的选择吗? 我不能使用requirejs或任何库来简化我的应用程序的模块化和依赖管理。此外,我无法改变现有架构。
// Option 1
function myObject(myModule){
...
this._myModule = myModule;
}
myObject.prototype.doAnotherThing = function(){
...
this._myModule.doSomething();
}
var test = new myObject(myModule);
// Option 2
function myObject(){
...
}
myObject.prototype.doAnotherThing = function(){
...
myModule.doSomething();
}
var test = new myObject();

我对你的观点非常感兴趣。
提前多多感谢,
雷米