地塊我看到這樣爲什麼我們應該檢查被定義的變量var m = m ||函數(){}
Common.deepCopy = Common.deepCopy || function(oldObject) {
return $.extend(true, {}, oldObject);
};
定義什麼是定義方法是這樣的對象的需求的方法的庫。
因爲js文件只會被執行一次,所以以前沒有定義deepCopy的機會。
地塊我看到這樣爲什麼我們應該檢查被定義的變量var m = m ||函數(){}
Common.deepCopy = Common.deepCopy || function(oldObject) {
return $.extend(true, {}, oldObject);
};
定義什麼是定義方法是這樣的對象的需求的方法的庫。
因爲js文件只會被執行一次,所以以前沒有定義deepCopy的機會。
情況並非總是如此。你永遠不知道JS文件是否包含兩次或是否被重新初始化。最好檢查對象是否存在,如果存在則分配它。否則創建一個新的對象
這是爲了防止它已經在另一個文件中定義,或腳本運行多次。
通常這是爲了檢查環境中是否已經存在某個東西,如Array.prototype.indexOf
。它在oldIE中不存在。
var indexOf = [].indexOf ? fn : fn2
現在您可以將fn定義爲使用本機indexOf,然後將fn2用於不支持它的環境。
這樣更好,所以每次調用函數時都不必檢查 - 而是在您定義它時進行檢查。
如果另一個庫實現了這個確切的方法會怎樣?然後檢查是有道理的,伊莫.. – 2011-04-12 06:10:35