猿问

请问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文字,原语和字符串/对象/数组/等等,我需要了解什么?


数组/对象是否只是变相的字符串?为什么/为什么不呢?它们以什么方式(这样/不是)?


墨色风雨
浏览 305回答 3
3回答

皈依舞

对象是从字符串键到值的无序映射,数组是值的有序列表(带有整数键)。那是主要的区别。它们都是非原始的,因为它们由多个值组成,这也意味着JavaScript中的按引用传递。但是,数组也是一种对象,因此您可以将额外的属性附加到它们,访问它们的原型等。在修改后的示例中,您仅利用了数组实际上是一个对象这一事实,即可以在它们上设置任何属性。你不应该那样做。如果不需要值的有序列表,请使用普通对象。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答