我很難找出實現這一點的最佳方式。使用構造函數揭示模塊模式
我想要一個具有構造函數的模塊,該構造函數接受存儲它的參數,以便稍後在模塊中使用。
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
,是全球window對象。有人可以解釋我將如何訪問moduleA嗎?我不明白在構造函數之後this.moduleA = moduleA;
會發生什麼。我不是一個真正的JavaScript開發,所以如果我在這裏使用了錯誤的花樣什麼的,隨意的附和
我更新了示例以使其更清晰 –
@Chase小提琴作品的唯一原因是因爲'moduleA'是全球性的。 – jbabey