数组是对象的特殊形式,可以使用方括号访问数组元素.
在js中,js将指定的数字索引值转换成字符串,像下面这个例子,索引1 编程‘1’ ,然后再将其作为属性名来使用。
所以,方括号[]里面的数字索引,加不加引号都可以。
对一般的非类数组对象来说,它不是数组,不可以使用数字索引,只能通过属性名字来访问。
数字索引,只属于数组或类数组。
像下面obj这个把6作为属性名字的,不算是索引法访问
而obj[0] 就 gg了
小结:
事实上,还是开头那句话,数组是对象的一种特殊形式,只不过这种样子的对象,把属性名默认为了从0开始的数字索引。
数组索引页仅仅是对象属性名的一种特殊类型。
所以,就可以解释上面为什么obj对象没有数字索引,因为js会把数字索引当成属性名来解析,obj[0] ,因为并没有属性名为0的属性,自然就返回undefined;
时间: 2024-10-12 21:57:54