迭代器模式
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 阅读(76) 评论(0) 编辑 收藏 举报