javascript设计模式-----迭代器模式

一、迭代器

在迭代器模式中,通常有一个包含某种数据集合的对象,该数据可能存储在一个复杂数据结构内部,而要提供一种简单的方法能够访问数据结构中的每个元素。对象的消费者不需要知道如何组织数据,所有需要的就是去除单个数据进行操作。

//迭代器模式
			var agg = (function(){
				var index = 0,
					data = [1,2,3,4,5],
					length = data.length;
					
				return {
					next:function(){
						var element;
						if(!this.hasNext()){
							return null;
						}
						element = data[index];
						index = index + 1;
						return element;
					},
					hasNext:function(){
						return index < length;
					},
					rewind:function(){
						index = 0;
					},
					current:function(){
						return data[index];
					}
				}
			})()
			
			//测试
			while(agg.hasNext()){
				console.log(agg.next());
			}//结果1,2,3,4,5


你可能感兴趣的:(javascript,javascript,设计模式,迭代器模式)