码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器模式

时间:2017-06-28 11:53:33      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:内容   class   for   遍历   als   示例   one   不同的   模式   

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
	}
};

  

 

迭代器模式

标签:内容   class   for   遍历   als   示例   one   不同的   模式   

原文地址:http://www.cnblogs.com/rainbow661314/p/7088763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!