什么叫做类数组对象?
JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法。
而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”。
可以使用数组中的方法,例如可以使用slice()方法获取类数组对象上的子数组,可以使用join方法来连接成为数组。
var leiarr={0:42,1:52,2:63,length:3}
console.log(Array.prototype.join.call(leiarr));//“42,52,63”
console.log(Array.prototype.slice.call(leiarr,1,2));//[ 52 ]
//操作相同的变量的时候可以按住shift,全部选中
//在ECMAScript 5标准中,字符串string就是一个只读的类数组对象
var s = "Object";
console.log(s[3]);//e
console.log(Array.prototype.join.call(s, " "));//O b j e c t
注意:
在浏览器环境中,document.getElementsByTagName()语句返回的就是一个类数组对象。
在function调用中,function代码内的arguments变量(保存传入的参数)也是一个类数组对象。