Javascript数组是原语吗?串?物体?

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

我一直认为JS中的数组和对象本质上是相同的,主要是因为访问它们是相同的

var obj={'I':'me'};
var arr=新数组();
arr['you']=“他们”;
控制台日志(obj.I);
控制台日志(arr.you);
console.log(obj['I']);
console.log(arr['you']);

我是不是被误导了/弄错了/错了?关于JS文本、原语和字符串/对象/数组等,我需要了解什么

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

数组是对象

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

  1. 数组的原型链中还有一个额外的对象,即Array.prototype。此对象包含可以在数组实例上调用的所谓数组方法。(方法列表如下:http://es5.github.com/#x15.4.4)

  2. 数组有一个length属性(它是活动的,因此是自动更新的)(请阅读此处:http://es5.github.com/#x15.4.5.2)

  3. 关于定义新属性,数组有一个特殊的算法(请阅读:http://es5.github.com/#x15.4.5.1). 如果您为数组设置了一个新属性,并且该属性的名称是一个可以强制为整数的sting(如'1''2''3',等等),则应用特殊算法(在规范第123页中定义)

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

了解规范中的阵列:http://es5.github.com/#x15.4

发表评论