深入理解JavaScript系列(35):设计模式之迭代器模式详解
介绍
迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。
迭代器的几个特点是:
1.访问一个聚合对象的内容而无需暴露它的内部表示。
2.为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作。
3.遍历的同时更改迭代器所在的集合结构可能会导致问题(比如C#的foreach里不允许修改item)。
正文
一般的迭代,我们至少要有2个方法,hasNext()和Next(),这样才做做到遍历所有对象,我们先给出一个例子:
varagg=(function(){
varindex=0,
data=[1,2,3,4,5],
length=data.length;
return{ next:function(){ varelement; if(!this.hasNext()){ returnnull; } element=data[index]; index=index+2; returnelement; },
hasNext:function(){ returnindex<length; },
rewind:function(){ index=0; },
current:function(){ returndata[index]; }
}; }());
热门推荐
10 双十一祝福语大全简短
11 白羊生日祝福语 简短独特
12 兔年祝福语简短100字
13 哥哥新婚祝福语创意简短
14 小寒健康祝福语大全简短
15 古风中考祝福语简短
16 对学姐的简短祝福语
17 同学道别祝福语简短
18 高温早安祝福语简短精辟