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

来源:互联网 发布:日本人生活方式 知乎 编辑:程序博客网 时间:2024/05/20 05:06
模式作用:
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
原创粉丝点击