您的位置:首页 > Web前端 > JavaScript

JS设计模式——迭代器模式

2015-09-08 10:09 633 查看
模式作用:
1,为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作
2,对于集合内部结果常常变化各异,我们不想暴露其内部结果的话,但又想让客户代码透明的访问其中的元素,这种情况下我们可以使用迭代器模式
注意事项:
1,一般的迭代,我们至少要有2个方法,hasNext()和Next(),这样才能做到遍历所有对象
2,遍历的同时更改迭代器所在的集合结构可能会导致问题(比如C#的foreach里不允许修改item)
<meta charset="utf-8">
<script type="text/javascript">
var arr=["1","2","3"];
var diedai=(function(){
var length=arr.length;
index=0;
return{
hasNext:function(){
return index<length;
},
next:function(){
var data=arr[index];
index=index+1;
return data;
},
reset:function(){
index=0;
}
};
})();   //自执行函数
while(diedai.hasNext()){
console.log(diedai.next());
}
//jQuery的each方法调用
// $.each(arr,function(index,val){
//     console.log(index);
//     console.log(val);
// });

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: