Javascript - 使用具有数字的Object literal

时间:2016-07-20 01:22:26

标签: javascript

我们说我有一个对象:

var elObject = {
   one: {
    name: "Oliver"}
}

我可以通过执行elObject.one.name来访问名称,而且一切都很棒,但是让我说我​​有这个:

var elObject = {
       1: {
        name: "Oliver"}
    }

突然之间,我无法通过elObject.1.name访问名称,因为我使用的是1而不是' one'。是否有特殊的逃避或我应该使用的对象文字和数字?

1 个答案:

答案 0 :(得分:0)

您可以使用数字1声明普通对象,并将其用作字符串。一旦不允许具有以数字开头的属性名称,您可以使用括号表示法访问它。

示例和下面的发现。

var x = {
    '1' : {
        name: 'Joao'
    }
};
alert(x);
try {
    alert(x['1'].name);
}
catch(e){
    alert(e.message);
}

https://jsfiddle.net/b4c34wLv/