迭代器模式
1.内部迭代器:
/*
函数名称:$each
函数描述:
遍历数组或对象,将内容设置为参数依次调用设置的函数;
*/
function $each(jn, fn) {
var len = jn.length;
if ("number" === typeof len) {
for (var i = 0; i < len; i++) {
var value = fn(jn[i], i,jn);
if( value == false ){
break;
}
}
} else {
for (var k in jn) {
var value = fn(jn[k], k,jn);
if( value == false ){
break;
}
}
}
}
应用示例: 当选择是 浏览器支持的方法,选择不同的方法上传。
二。外部迭代器
/*外部迭代器
**/
var Iterator = function( obj ) {
var current = 0;
var next = function(){
current +=1;
}
var isDone = function(){
return current >= obj.length;
}
var getCurrItem = function(){
return obj[ current ];
}
return {
next: next,
isDone: isDone,
getCurrItem: getCurrItem
}
};
posted on 2017-06-28 11:00 rainbow661314 阅读(81) 评论(0) 收藏 举报
浙公网安备 33010602011771号