一个优美的Js代码

<!-- ———————————————— JS原型(prototype) ———————————————————— -->
//实现 array each(循环数组的每一项)
var arr=[1,3,4,2];
arr.forEach(function(item,index,array){
//alert(item);
});
var arr2=[1,3,23,[12,[13,[45]]]];
Array.prototype.each=function(fn){
//目的 遍历数组的每一项
try{
//计数器 记录当前遍历元素的位置
this.i||(this.i=0);
//判断什么时候进入
if(this.length>0&&fn.constructor==Function){
//遍历数组的每一项
while(this.i<this.length){
//获取数组的每一项
var e=this[this.i];
//判断元素存在并且是数组
if(e&&e.constructor==Array){
e.each(fn);
}else{
//使用绑定的方式
//fn.apply(e,[e]);
fn.call(e,e);
}
this.i++;
}
this.i=null;//释放内存
}
}catch(ex){
}
}
arr2.each(function(item){alert(item);});

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。