为什么不能像下面给出的那样访问数组?

时间:2014-12-02 05:31:12

标签: javascript arrays

下面的代码返回true。如果是这种情况,为什么代码中的第4行错误?

var x = ['a', 'e', 'f'];
x[2];
alert('2' in x);
alert(x.2);

1 个答案:

答案 0 :(得分:2)

您可以使用点语法访问的唯一属性名称是符合JavaScript的标识符名称规则的名称(第一个字符是字母,_或$,其余字符是字母,数字,_或$)。

你有什么语法错误,这就是它出错的原因。

来自MDN

  
    

点符号

    get = object.property;
    object.property = set;

    property必须是有效的JavaScript标识符,即一系列字母数字字符,也包括下划线(“_”)和美元符号(“$”),它们不能以数字开头。例如,object。$ 1有效,而object.1不是。

  

您可以使用方括号表示法访问具有任何名称的属性,因此以下任一项都将返回您想要的项目:

x[2];
x["2"];