gpt4 book ai didi

javascript - Javascript 数组是原始数组吗?字符串?物体?

转载 作者:行者123 更新时间:2023-12-03 02:16:41 27 4
gpt4 key购买 nike

数组只是伪装的对象吗?为什么/为什么不呢?他们以什么方式(这样/不是)?

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

数组/对象只是伪装的字符串吗?为什么/为什么不呢?他们以什么方式(这样/不是)?

最佳答案

数组是对象。

但是,与常规对象不同,数组具有某些特殊功能。

  1. 数组在其原型(prototype)链中还有一个附加对象 - 即Array.prototype。该对象包含可以在数组实例上调用的所谓数组方法。 (方法列表在这里:http://es5.github.io/#x15.4.4)

  2. 数组有一个 length 属性(这是实时的,因此,它会自动更新)(在此处阅读:http://es5.github.io/#x15.4.5.2)

  3. 数组有一个关于定义新属性的特殊算法(请阅读此处:http://es5.github.io/#x15.4.5.1)。如果您将一个新属性设置为数组,并且该属性的名称是一个可以强制转换为整数的字符串(例如 '1''2''3' 等),然后应用特殊算法(它在规范的第 123 页上定义)

除了这三件事之外,数组就像普通对象一样。

阅读规范中有关数组的信息:http://es5.github.io/#x15.4

关于javascript - Javascript 数组是原始数组吗?字符串?物体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5048371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com