我希望创建一个带有嵌套变量的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