JavaScript类数组对象详解:定义、特性与常见实例

作者:函数茶馆

时间:2026-10-28

浏览:134

本文深入解析JavaScript中的类数组对象,阐述其具备正整数属性名和length属性的核心特征。通过示例演示如何利用Array.prototype.call在类数组对象上调用join、slice等数组方法,并列举了DOM查询结果、函数arguments及ECMAScript 5中字符串等常见类数组实例,帮助开发者理解这一重要概念。

文章目录

类数组对象的定义与特征

在JavaScript中,数组本质上是一种特殊的对象,其属性名为正整数,且length属性会随成员增减自动调整,同时继承了Array构造函数的操作方法。若普通对象的所有属性名均为正整数并包含length属性,即使未通过Array构造函数创建,它也会表现出数组的行为,这类对象被称为“类数组对象”。以下是一个简单的类数组对象示例:

代码如下:

var o = {0:42, 1:52, 2:63, length:3}
console.log(o);

利用Array.prototype操作类数组对象

与普通对象不同,类数组对象支持直接应用数组操作方法。例如,在ECMAScript 5标准下,可以使用以下方法将上述对象o合并为字符串:


代码如下:

console.log(Array.prototype.join.call(o));//"42,52,63"

此外,还可以对类数组对象使用slice()方法以获取子数组:


代码如下:

console.log(Array.prototype.slice.call(o, 1, 2));//[52]

常见的类数组对象实例

在浏览器环境中,document.getElementsByTagName()方法返回的即为类数组对象。此外,在函数调用内部,保存传入参数的arguments变量同样属于类数组对象。

在ECMAScript 5标准中,字符串string被视为一个只读的类数组对象:

代码如下:

var s = "History";
console.log(s[3]);//t
console.log(Array.prototype.join.call(s, " "));//H i s t o r y

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章