标签:
迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
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.小结
迭代器模式是一种相对简单的模式,简单到很多时候我们都不认为它是一种设计模式。
JavaScript设计模式与开发实践---读书笔记(7) 迭代器模式
标签:
原文地址:http://www.cnblogs.com/6489c/p/5938497.html