現在我已經使用了對象文字來代替我的代碼中的多個var語句。這裏有一個典型的例子:js使用對象文字var替換
(function(){
var replaceVars = {};
function x(){
replaceVars.num=886;
}
function y(){
x();
replaceVars.cal = replaceVars.num*99;
return replaceVars.cal;
}
})();
所以我的問題是:這有什麼問題嗎?我的意思是我可以看到的是:1)在我的整個代碼中只有一個var語句。 2)在閉包內所有的孩子都可以訪問它(這意味着替換變量的屬性在閉包的範圍內變成全局的,就像在真正的全局對象(窗口)內創建一個類似全局的子對象(閉包)一樣)3)我可以預先定義準備馬上去屬性:
VAR replaceVars = { something1: 「一些價值」, something2: 「其他值」 }
所以任何人都可以想到的我的做事方式有什麼缺點?
你爲什麼這樣做?到底是什麼? – jbabey 2012-03-22 19:04:20
JavaScript中有多個'var'語句。只要確保它們都發生在它們使用的函數的頂部。 – zzzzBov 2012-03-22 19:05:41
很久以前第一次使用jsLint,它抱怨太多的變量,我開始這樣做,它只是卡在我身上。再加上它似乎比立刻聲明你所有的變量更加整潔:var x,y,z,count chocula; – zero 2012-03-22 19:10:31