Cur*_*urt 7 javascript variables global-variables
我希望创建一个嵌套变量的Javascript对象,其中一些变量没有指定默认值.
我目前有这个:
var globalVarA = "foo";
var globalVarB = "bar";
var globalVarC;
function myFunction(){
//do something
}
Run Code Online (Sandbox Code Playgroud)
我希望将其更改为:
var myObject = {
GlobalVars: {
globalVarA: "foo",
globalVarB: "bar",
globalVarC
},
myFunction: function(){
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
预期':'
如何在没有值的情况下声明此变量?
这是最佳做法还是有其他更好的解决方案?
Ben*_*aum 12
如果要将变量定义为GlobalVars必须明确赋值undefined给它们的属性
GlobalVars: {
globalVarA: "foo",
globalVarB: "bar",
globalVarC: undefined
},
Run Code Online (Sandbox Code Playgroud)
您的代码包含无效表示法,使用对象文字表示法时,您必须为每个变量指定一个值.这与XML或formParams等其他符号不同,您可以在不设置属性/属性的情况下声明属性/属性.
注意,在我的解决方案中,未定义的变量确实得到一个默认值 - 该值只是原始值undefined,默认情况下,对于未定义的变量返回的值.
但是,您的变量确实,如果你得到定义globalVarC: undefined
GlobalVars.globalVarC;//undefined
GlobalVars.globalVarX;//undefined
GlobalVars.hasOwnProperty("globalVarC");//true
GlobalVars.hasOwnProperty("globalVarX");//false
Run Code Online (Sandbox Code Playgroud)
从规格:
4.3.9未定义的值:
未赋值变量时使用的原始值.