JS设计模式——迭代器模式
来源:互联网 发布:日本人生活方式 知乎 编辑:程序博客网 时间:2024/05/20 05:06
模式作用:
1,为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作
2,对于集合内部结果常常变化各异,我们不想暴露其内部结果的话,但又想让客户代码透明的访问其中的元素,这种情况下我们可以使用迭代器模式
注意事项:
1,一般的迭代,我们至少要有2个方法,hasNext()和Next(),这样才能做到遍历所有对象
2,遍历的同时更改迭代器所在的集合结构可能会导致问题(比如C#的foreach里不允许修改item)
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>
0 0
- JS设计模式——迭代器模式
- JS设计模式——工厂模式
- JS设计模式——代理模式
- JS设计模式——命令模式
- JS设计模式——观察者模式
- JS设计模式——适配器模式
- JS设计模式——外观模式
- JS设计模式——策略模式
- js设计模式—建造者模式
- js设计模式—单例模式
- 设计模式——迭代器设计模式
- js设计模式之迭代器模式
- JS设计模式之迭代器模式
- js设计模式——单例/单体模式
- JS设计模式——单例模式
- JS设计模式——构造函数模式
- JS设计模式——建造者模式
- JS设计模式——责任链模式
- Java性能优化(12):最小化类和成员可访问能力
- iOS: #ifdef DEBUG
- 根据volley网络请求框架封装好的get请求和post请求
- 【Django】template中实现加减乘除数学运算[加法 减法 乘法 除法]
- Android仿“知乎”隐藏标题栏、回答详情页动画效果----android里面各种高仿
- JS设计模式——迭代器模式
- GridView完美的例子
- IOS开发—Core Animation核心动画介绍
- 如何把演示文稿ppt转成pdf格式
- mybatis打印不出SQL语句的问题
- 如何把文件上传到另外一台服务器2
- codeforces 396A A. On Number of Decompositions into Multipliers(组合数学+数论)
- python 里list, tuple, set, dict的异同
- 数据结构学习之路-第三章:顺序栈