为什么无法访问数组,如下所示

Why array cannot be accessed like given below?

本文关键字:数组 访问 为什么      更新时间:2023-09-26

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

var x = ['a', 'e', 'f'];
x[2];
alert('2' in x);
alert(x.2);
您可以使用

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

你那里有一个语法错误,这就是它出错的原因。

来自 MDN:

点表示法

get = object.property;
对象属性 = 设置;

属性必须是有效的 JavaScript 标识符,即字母数字字符序列,还包括下划线 ("_") 和美元符号 ("$"),不能以数字开头。例如,object.$1 有效,而 object.1 无效。

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

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