玲儿灵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

js中我们经常会封装一个each函数用来实现迭代器。

array的迭代器:

forEach = function( ary, fn ){  for ( var i = 0, l = ary.length; i < l; i++ ){    var c = ary[ i ];    if ( fn.call( c, i , c ) === false ){      return false;    }   }} 
forEach( [ 1, 2, 3 ], function( i, n ){ 
  alert ( i ); 
}) 

obejct的迭代器:

forEach = function( obj, fn ){  for ( var i in obj ){    var c = obj[ i ];    if ( fn.call( c, i, c ) === false ){      return false;    }   }} 
forEach( {"a": 1,"b": 2}, function( i, n ){ 
  alert ( i ); 
}) 

 

posted on 2015-02-05 09:26  玲儿灵  阅读(222)  评论(0编辑  收藏  举报