zoukankan      html  css  js  c++  java
  • JavaScript设计模式与开发实践---读书笔记(7) 迭代器模式

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

    JavaScript中的Array.prototype.foreach.

    1.JQuery中的迭代器

    $.each函数

    2.自己实现一个each函数

        var each = function(ary,callback){
            for(var i=0,l=ary.length;i<l;i++){
                callback.call(ary[i],i,ary[i]);//把下标和元素当作参数传给callback函数
            }
        };
    
        each([1,2,3],function(i,n){
            alert([i,n]);
        });

    3.内部迭代器和外部迭代器
    内部迭代器在调用时非常方便,外界不用关心迭代器内部实现,跟迭代器的交互也仅仅是一次初始调用,但这也刚好是内部迭代器的缺点。由于内部迭代器的迭代规则已经被提前规定好,不能很好的实现一些需求。

    外部迭代器必须显式地请求迭代下一个元素。

    外部迭代器增加了一些调用的复杂度,但相对也增强了迭代器的灵活性,我们可以手工控制迭代的过程或者顺序。

    4.迭代器模式不仅可以迭代数组,还可以迭代一些类数组的对象。

    在JavaScript中,for in语句可以用来迭代普通字面量对象的属性。

    5.倒序迭代器

    6.中止迭代器

    7.应用举例

    8.小结

    迭代器模式是一种相对简单的模式,简单到很多时候我们都不认为它是一种设计模式。

  • 相关阅读:
    隐私保护政策
    童真儿童简笔画
    方块十字消
    iOS 判断一断代码的执行时间(从网上看的,自己实现一下)
    iOS BLOCK回调:(妖妖随笔)
    typedef struct
    #define和预处理指令
    UIActivityIndicatorView
    Expected a type 的错误
    iOS 本地化字符串—(妖妖随笔)
  • 原文地址:https://www.cnblogs.com/6489c/p/5938497.html
Copyright © 2011-2022 走看看