为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript数组是原语吗?琴弦?对象?

Javascript数组是原语吗?琴弦?对象?

数组仅仅是伪装的对象吗?为什么/为什么不呢?它们以什么方式(这样/不是)?我一直认为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中的按引用传递。

但是,数组也是一种对象,因此您可以将额外的属性附加到它们,访问它们的原型等。

在修改后的示例中,您仅利用了数组实际上是一个对象这一事实,即可以在它们上设置任何属性。你不应该那样做。如果不需要值的有序列表,请使用普通对象。


查看完整回答
反对 回复 2019-10-11
  • 3 回答
  • 0 关注
  • 474 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信