arraylike 类数组/伪数组
- 伪数组是对数组的扩展,不会污染原生数组,以前基于原型的对数组进行扩展方式会污染原生数组。
<!--基于原型-->
Array.prototype.demo=function(){
}
var test =[];
test.demo();//demo方法污染了原生数组
<!--闭包形式的伪数组-->
!function(){
function List = function(){
var list=[],
self={
//构造器
constructor:List,
//可以将length定义为属性,但是 需要自己维护
//返回长度
length:function(){
return list.length;
},
//增加
add:function (item){
list.push(item);
},
//当前
eq:function (index){
return list[index];
}
//.....根据需要 自己增加方法
}
return self;
}
}