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