javascript - 什么是 JavaScript 数组?

标签 javascript

我试图理解什么是 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/

相关文章:

javascript - 通过jQuery.load()加载外部元素后是否可以滚动到 anchor ?

javascript - 使用 ng-repeat 过滤列表

javascript - 如何使用 .load() 加载 URL

javascript - worker-loader 内联做什么?

javascript - 另一个变量中的 JS 变量

javascript - 什么时候应该使用 PHP session 、浏览器本地存储和 JavaScript 对象参数?

javascript - 自定义视频静音按钮

javascript - 将传入的 OSC 消息转换为 TUIO 2Dcur

javascript - 在 HTML5 Canvas 上绘制虚线的替代方法是什么?

javascript - Vanilla JavaScript 替换元素