JavaScript中的类数组对象介绍

这篇文章主要介绍了JavaScript中的类数组对象介绍,一个对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”,需要的朋友可以参考下

JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法。而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”。以下是一个简单的类数组对象:

复制代码 代码如下:


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


与普通对象不同的是,类数组对象拥有一个特性:可以在类数组对象上应用数组的操作方法。比如,在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()语句返回的就是一个类数组对象。在function调用中,function代码内的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

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgxjyd.html