这个问题是关于 JavaScript 语言基础知识的。为什么我们可以使用点( .
)运算符来访问对象的元素,但不能使用数组元素?
换句话说,为什么 myArray.0
在 JavaScript 中无效?
最佳答案
使用点表示法访问的 JavaScript 属性名称不能以数字开头。这只是 javascript 语法规则/语法的一部分。因此,即使点表示法适用于数组,它也不会起作用,因为数组索引是数字,并且以数字开头的属性名称无法使用点表示法访问。
对于数组,你显然可以使用:
myArray[0]
但是,这也适用于以数字开头的对象属性,例如:
var x = {"12": "foo"};
alert(x["12"]); // foo
而且,你不能这样做:
alert(x.12)
即使x
是一个对象并且“12”
是该对象的合法属性。您必须使用 x["12"]
才能访问它。
关于javascript - 为什么点运算符无法访问数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671481/