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