首先,这两个都是伪数组
定义
这里把符合以下条件的对象称为伪数组:
1,具有length属性
2,按索引方式存储数据
3,不具有数组的push,pop等方法
举例:
1,function内的arguments 。
2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,
document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。
3,特殊写法的对象 ,如
Js代码 收藏代码
var obj={};
obj[0] = “一”;
obj[1] = “二”;
obj[2] = “三”;
obj.length = 3;
类数组 -->数组 的方法
function makeArray(obj){
var rs=[],len=obj.length;//定义需要的元素 数组 与 lenegth属性
try{
rs = [].slice.call(obj,0);
}catch(e){ //for IE
for(var i=0;j=obj[i++];){
rs.push(j);
}
}
return rs;
}
HTMLCollection NODELIST 返回的是动态的数据
除了 docum,ent.querySelectAll()是静态的