如果某个对象具有length属性,并且除了length属性的其他所有的属性名都是正整数或0,则这个对象就叫伪数组。
var obj = {
0:'a',
1:'b',
length:2
};
伪数组的存在可以让普通的对象也能使用数组的很多方法,首先需要先将伪数组转换为真正的数组,
var arr = Array.prototype.slice.call(arguments);
注意:伪数组是一个对象,它自身并不能使用数组特有的方法;而且length属性不是动态值,不能随成员而变化。
常见的伪数组有:
- 函数内部的arguments对象
- 大多数DOM元素集
- 字符串