我希望創建一個帶有嵌套變量的Javascript對象,其中一些變量不會指定默認值。聲明無值的變量
目前,我有這樣的:
var globalVarA = "foo";
var globalVarB = "bar";
var globalVarC;
function myFunction(){
//do something
}
我希望這個更改爲:
var myObject = {
GlobalVars: {
globalVarA: "foo",
globalVarB: "bar",
globalVarC
},
myFunction: function(){
//do something
}
}
不過,我得到以下錯誤:
Expected ':'
我怎樣才能宣佈這個變量沒有價值?
這是最佳實踐還是有其他更好的解決方案?
只是在側面說明。直到需要時才聲明'globalVarC'會有什麼缺點?既然你可以設置'GlobalVars.globalVarC =「任何」;「即使它沒有被宣佈。 – 2013-03-20 12:52:31
@TimBJames這是一個很好的問題。例如,這個差異可以用'hasOwnProperty'檢查來表示。就個人而言,如果它只是用於該函數,在我自己的代碼中,我會執行'GlobalVars.globalVarC'而不是明確地將其設置爲undefined。 – 2013-03-20 12:54:11
是的,我可能也會去,因爲如果你正在檢查變量的存在,你會檢查'if(GlobalVars。globalVarC!= undefined)'這將是這種情況。 – 2013-03-20 13:31:37