在nodejs终端上创建以下对象 a ,其中包含数字和非数字键。
可以使用语法 a。访问非数字键的值。其中,无法使用相同的语法访问数字键的值。
$ node
> a = { 2: 'val1', 3: 'val2', 4: 'val3', obj: 'val4' }
{ '2': 'val1',
'3': 'val2',
'4': 'val3',
obj: 'val4' }
> a.obj
'val4'
> a.'2' # cannot access the value
...
> a.2
...
...
为什么会出现这种限制。用数字键创建对象是否可以?。
答案 0 :(得分:0)
限制是因为点符号遵循与普通变量相同的命名规则。
您可以使用方括号访问所有字段:
var a = {foo: 'bar', 5: 'bar2'};
alert(a[5]); //bar2
alert(a['foo']); //bar