js设计模式学习笔记(七):迭代器模式

151 阅读1分钟

迭代器模式

特点

  • 顺序访问的一个有序集合
  • 使用者无需知道集合的内部结构(封装)

介绍

  • 为类数组与字面量对象提供类似于数组的循环迭代并提供回调函数进而完成循环处理的特定业务需求
  • 这种模式本质是为了统一封装对象的遍历,提供有序集合的遍历方式。但是各种语言都有对应的支持,所以一般是用不上的。

demo

更多详细代码


function each(arr){
    var index = 0;
    var next = function(){
        return  arr[index++];
    }

    var hasNext = function(){
        return index !== arr.length;
    }

    return { next,hasNext };
}

const list = each([1,2,3]);

while(list.hasNext()){
    console.log(list.next())
}