设计模式之行为型迭代器模式

在不暴露对象内部结构的同时,可以顺序地访问聚合对象内部的元素。在开发中,迭代器极大简化了代码中的循环语句,使代码结构清晰紧凑。用迭代器去处理一个对象时,只需要提供处理的方法,而不必去关心对象的内部结构,这也解决了对象的使用者与对象内部结构之间的耦合。

var Iterator = function(items, container) {
  // 获取父元素
  var container = container && document.getElementById(container) || document,
  // 获取元素
      items = container.getElementsByTagName(items),
  // 获取元素长度
      length = items.length,
  // 当前索引值
      index = 0;
  // 缓存原生数组splice方法
  var splice = [].splice;
  return {
    // 获取第一个元素
    first: function() {},
    // 获取最后一个元素
    second: function() {},
    // 获取前一个元素
    pre: function() {},
    // 获取后一个元素
    next: function() {},
    // 获取某一个元素
    get: function(num) {},
    // 对每一个元素执行某一个方法
    dealEach: function(fn) {},
    // 对某一个元素执行某一个方法
    dealItem: function(num, fn) {},
    // 排他方式处理某一个元素
    exclusive: function() {}
  }
}
原文地址:https://www.cnblogs.com/camille666/p/design_pattern_behavior_iterator.html