我试图理解什么是 JavaScript 数组,因为传统编程语言将数组定义为可以使用偏移量寻址的连续存储区域。
现在,一个普通的 JavaScript 对象可以这样寻址:
myObj.myProperty = "my Value";
或
myObj["myProperty"] = "my Value";
因此,JavaScript 数组只是在其寻址中使用数字而不是名称:
myObj[0] = "my Value";
myObj.length // === 1
JavaScript 数组也有方法,例如 slice() 和 join()。
问:到目前为止我所说的是真的吗?
最佳答案
JavaScript 数组是一个散列对象,使用 Array.prototype
附加了数组函数。简而言之,这是 JavaScript 中的“数组”:
var x = {
length : 3,
'0' : 'first',
'1' : 'second',
'2' : 'third'
};
x.__proto__ = Array.prototype;
正如您所期望的那样,所有数组函数仅作用于索引,但是您也可以像对一般 JS 对象那样对数组对象执行任何操作:
ary.foo = 'bar';
关于javascript - 什么是 JavaScript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6445010/