伪数组
在javascript中什么是伪数组,如何将伪数组转化为标准数组
这里把符合以下条件的对象称为伪数组:
1,具有length属性
2,按索引方式存储数据
3,不具有数组的push,pop等方法
伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用document.getElementsByTagName, document.childNodes之类的,它们返回的NodeList对象都属于伪数组。
可以使用以下函数将伪数组转化为真正的Array对象
function makeArray(c) {
try{
return Array.prototype.slice.call(c);
}catch(e){
var ret = [],i, len = c.length;
for(i = 0; i < len; i++) {
ret[i] = (c[i]);
}
return ret;
}
}