2012-02-29 86 views
1

我有下面的代碼有麻煩代碼,我會寫var foo = missingObj || fallbackObj;,它工作正常。傳遞一個依賴對象到一個Javascript模塊

我試圖弄清楚a)爲什麼它在這種情況下不起作用,b)由於我想使用這兩個框架的項目,會有什麼替代方案。

回答

4

var foo = missingObj || fallbackObj;

只有missingObj不是未申報工作。例如。發生這種情況時missingObj一種說法,它的值是undefined(這是最常見的情況爲X = Y ||默認)

您尋找的代碼是

} (window.jQuery || window.Zepto));

所以基本上的原因它不起作用是因爲你的易混淆的對象誰具有值undefined和未聲明的對象。

訪問jQuery正在訪問未聲明的值,該值無效。訪問window.jQuery正在訪問一個未定義的值,它可以工作。

例如

function jQuery(options) { 
    options = options || {}; 
    ... 
} 

工作,因爲options是不確定的,而再未申報

+0

我打字我的回答想着「現在,有一種方法,那最好不過了一千倍,什麼又是什麼呢?」但我正在畫空白。原來我可以刷新頁面。 – 2012-02-29 18:04:49

+0

我知道我錯過了簡單的事情。謝謝! – JamesEggers 2012-02-29 18:57:18

+0

@davin修復它¬_¬ – Raynos 2012-02-29 19:17:49

相關問題