数组仅仅是伪装的对象吗?为什么/为什么不呢?它们以什么方式(这样/不是)?我一直认为JS中的数组和对象本质上是相同的,主要是因为访问它们是相同的。var obj = {'I': 'me'};var arr = new Array();arr['you'] = 'them';console.log(obj.I);console.log(arr.you);console.log(obj['I']);console.log(arr['you']);我误导/误会/错误吗?关于JS文字,原语和字符串/对象/数组/等等,我需要了解什么?数组/对象是否只是变相的字符串?为什么/为什么不呢?它们以什么方式(这样/不是)?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
对象是从字符串键到值的无序映射,数组是值的有序列表(带有整数键)。那是主要的区别。它们都是非原始的,因为它们由多个值组成,这也意味着JavaScript中的按引用传递。
但是,数组也是一种对象,因此您可以将额外的属性附加到它们,访问它们的原型等。
在修改后的示例中,您仅利用了数组实际上是一个对象这一事实,即可以在它们上设置任何属性。你不应该那样做。如果不需要值的有序列表,请使用普通对象。
添加回答
举报
0/150
提交
取消