为什么可以';我不能在Javascript中调用array.0吗?

为什么可以';我不能在Javascript中调用array.0吗?,javascript,Javascript,此代码将提醒对象a中的所有属性名称。0,1,2和你好 Object.prototype.hello = {}; var a = [1,2,3]; for ( var number in a ) { alert( number) } 我的问题是,我可以通过以下语法访问属性hello: a.hello 但是为什么我不能访问应该等于1的a.0。数组减容不是在创建“真实属性”吗 我知道我可以通过[0]和[“hello”]访问属性这是一个语法限制。在JavaScript中,标识符不能以数字

此代码将提醒对象a中的所有属性名称。0,1,2和你好

Object.prototype.hello = {};

var a = [1,2,3];

for ( var number in a ) {
    alert( number)
}
我的问题是,我可以通过以下语法访问属性hello:

a.hello
但是为什么我不能访问应该等于1的
a.0
。数组减容不是在创建“真实属性”吗


我知道我可以通过[0]和[“hello”]访问属性

这是一个语法限制。在JavaScript中,标识符不能以数字开头,因此
0
不是有效的标识符<代码>a.0将产生语法错误。

这是语法限制。在JavaScript中,标识符不能以数字开头,因此
0
不是有效的标识符
a.0将产生语法错误。

使用语法
myArray[index]
访问数组中的项。
点表示法仅允许访问名称为有效标识符的属性,数组中项的索引(即数字)不符合条件。因此,您必须使用更宽松的括号表示法。

使用语法
myArray[index]
访问数组中的项。 点表示法仅允许访问名称为有效标识符的属性,数组中项的索引(即数字)不符合条件。因此,您必须使用更宽松的括号表示法。

JavaScript标识符必须以字母、下划线(\)或 美元符号(元),

:

JavaScript标识符必须以字母、下划线(\)或 美元符号(元),


JavaScript标识符不能以数字开头。您试图访问的属性是对象内部的标识符

您将在此处找到此片段:

变数

在应用程序中使用变量作为值的符号名。 变量名(称为标识符)符合某些规则

JavaScript标识符必须以字母、下划线(\)或 美元符号(元),;后续字符也可以是数字(0-9)。 因为JavaScript区分大小写,所以字母包含字符 “A”到“Z”(大写)以及字符“A”到“Z” (小写)

从JavaScript 1.5开始,您可以使用ISO 8859-1或Unicode 标识符中的字母,如å和ü。您也可以使用\uxxx Unicode转义序列作为标识符中的字符

法定名称的一些例子有Number_hits、temp99和_name


JavaScript标识符不能以数字开头。您试图访问的属性是对象内部的标识符

您将在此处找到此片段:

变数

在应用程序中使用变量作为值的符号名。 变量名(称为标识符)符合某些规则

JavaScript标识符必须以字母、下划线(\)或 美元符号(元),;后续字符也可以是数字(0-9)。 因为JavaScript区分大小写,所以字母包含字符 “A”到“Z”(大写)以及字符“A”到“Z” (小写)

从JavaScript 1.5开始,您可以使用ISO 8859-1或Unicode 标识符中的字母,如å和ü。您也可以使用\uxxx Unicode转义序列作为标识符中的字符

法定名称的一些例子有Number_hits、temp99和_name


数组中的项是原型中的对象,你不能用点符号访问它们,因为它们以数字开头。数组中的项是原型中的对象,你不能用点符号访问它们,因为它们以数字开头。好的,那么在for。。。实际上,我不知道身份证的名字。那么我得到了什么呢?@SimonEdström
用于。。。在
中枚举属性名,属性名是任意字符串,因此可能是标识符,也可能不是标识符。好的,那么在for中。。。实际上,我不知道身份证的名字。那么我得到了什么呢?@SimonEdström
用于。。。in
枚举属性名,这些属性名是任意字符串,因此可能是标识符,也可能不是标识符。旁注:决不使用
中的…进行循环,即仅对对象进行循环。旁注:决不使用
中的…进行循环,即仅对对象进行循环。