0
我試圖實現模塊化模式:使用模塊模式,爲什麼引用是未定義的?
var mod1, mod2;
mod1 = (function (mod2) {
var obj = {};
obj.whichMod = function() {
mod2.whichMod();
};
return obj;
}(mod2));
mod2 = (function (mod1) {
var obj = {};
obj.whichMod = function() {
console.log('mod2');
}
return obj;
}(mod1));
mod1.whichMod();
當我打電話mod1.whichMod()方法,它說mod2的不是不確定的。爲什麼是這樣?
我想要mod1.whichMod()來調用mod2.whichMod(),但mod2應該在mod1之後「定義」,如上所示。
MOD2還不存在。這是設置的方式,如果你移動上面的mod2,將面臨同樣的問題,因爲mod1不會存在。 – Tony 2014-09-12 17:35:30
但是在最後一行:mod1.whichMod()中,創建了mod1和mod2。當我將mod2傳遞給mod1時,是不是通過引用? – firebird 2014-09-12 17:37:34
奇怪的是,如果我用「this」替換「obj」(例如:this.WhichMod = function(){}),它就可以工作。 – firebird 2014-09-12 17:41:57