zoukankan      html  css  js  c++  java
  • JavaScript---设计模式之迭代器模式

    迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示。

    jQuery中我们经常会用到一个each函数就是迭代器模式

    作用

    为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作

    对于集合内部结果常常变化各异,我们不想暴露其内部结构的话,但又想让客户代码透明的访问其中的元素,这种情况下我们可以使用迭代器模式。

    注意事项

    1. 一般的迭代,我们至少要有2个方法,hasNext和Next,这样才做到遍历所有对象。
    2. 遍历的同时更改迭代器所在的集合结构可能会导致问题(比如C#的foreach里不允许修改item)
    <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;
                }
            };
        })();
        while(diedai.hasNext()){
            console.log(diedai.next());
        }
    </script>
  • 相关阅读:
    ASP.NET Core 静态资源的打包与压缩
    算法
    字符串反转
    js 获取随机数
    AspNetCore MVC 跨域
    add digits
    1-bit and 2-bit Characters
    删除字符串中出现次数最少的字符
    洗牌
    哈夫曼编码
  • 原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8442552.html
Copyright © 2011-2022 走看看