迭代器模式

Posted rainbow661314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器模式相关的知识,希望对你有一定的参考价值。

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

  

 

以上是关于迭代器模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式 行为型模式 -- 迭代器模式(定义结构实例优缺点分析)

Python 设计模式 — 行为型模式 — 迭代器模式

设计模式-迭代器模式

迭代器模式

Python 设计模式 — 行为型模式 — 迭代器模式

设计模式学习