javascript – 声明没有值的变量

前端之家收集整理的这篇文章主要介绍了javascript – 声明没有值的变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望创建一个嵌套变量的 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 ‘:’

如何在没有值的情况下声明此变量?

这是最佳做法还是有其他更好的解决方案?

解决方法

如果要将变量定义为GlobalVars的属性,则必须为它们显式指定undefined
GlobalVars: {
     globalVarA: "foo",globalVarC: undefined
  },

您的代码包含无效表示法,使用对象文字表示法时,您必须为每个变量指定一个值.这与XML或formParams等其他符号不同,您可以在不设置属性/属性的情况下声明属性/属性.

注意,在我的解决方案中,未定义的变量确实得到一个默认值 – 该值只是未定义的原始值,这是默认情况下未定义的变量返回的值.

但是,如果执行globalVarC:undefined,则会定义变量

GlobalVars.globalVarC;//undefined
GlobalVars.globalVarX;//undefined
GlobalVars.hasOwnProperty("globalVarC");//true
GlobalVars.hasOwnProperty("globalVarX");//false

spec

4.3.9 undefined value:

primitive value used when a variable has not been assigned a value.

猜你在找的JavaScript相关文章