function(fn, scope){
        var items = [].concat(this.items), // each safe for removal
            i = 0,
            len = items.length,
            item;

        for (; i < len; i++) {
            item = items[i];
            if (fn.call(scope || item, item, i, len) === false) {
                break;
            }
        }
    }
function(fn, scope){
        var items = [].concat(this.items), // each safe for removal
            i = 0,
            len = items.length,
            item;

        for (; i < len; i++) {
            item = items[i];
            if (fn.call(scope || item, item, i, len) === false) {
                break;
            }
        }
    }
function ( fn , scope ) { var items = [ ] . concat ( this . items ) , // each safe for removal i = 0 , len = items . length , item ; for ( ; i < len ; i ++ ) { item = items [ i ] ; if ( fn . call ( scope || item , item , i , len ) === false ) { break ; } } }
Executes the specified function once for every item in the collection.

@param {Function} fn The function to execute for each item.
@param {Mixed} fn.item The collection item.
@param {Number} fn.index The item's index.
@param {Number} fn.length The total number of items in the collection.
@param {Boolean} fn.return Returning `false` will stop the iteration.
@param {Object} scope (optional) The scope (`this` reference) in which the function is executed.
Defaults to the current item in the iteration.
Executes the specified function once for every item in the collection .