自定义的foreach,仿jquery的each函数,代码如下

forEach = function( ary, fn ){
  for ( var i = 0, l = ary.length; i < l; i++ ){
    var c = ary[ i ];
    //console.log(c);
    if ( fn.call( c, i, c ) === false ){
      return false;
    }
   }
}

对fn.call(c.i,c)中的用到的call一直不太理解,经过网友的解答,其实这样的做法是为了让fn的this指向当前被迭代的对象,就像在jquery中的each(如下代码),每次回调函数的this都指向被迭代的dom对象

$('div').each(function(index,el){
    //
});