lib/object.js
function (fn, context) {
        var obj = this,
            keys = Object.keys(obj),
            l = keys.length,
            i = -1,
            key;
        while (++i < l) {
            key = keys[i];
            fn.call(context || obj, obj[key], key, obj);
        }
        return obj;
    }
function (fn, context) {
        var obj = this,
            keys = Object.keys(obj),
            l = keys.length,
            i = -1,
            key;
        while (++i < l) {
            key = keys[i];
            fn.call(context || obj, obj[key], key, obj);
        }
        return obj;
    }
function ( fn , context ) { var obj = this , keys = Object . keys ( obj ) , l = keys . length , i = - 1 , key ; while ( ++ i < l ) { key = keys [ i ] ; fn . call ( context || obj , obj [ key ] , key , obj ) ; } return obj ; }
Loops through all properties in the object.  Equivalent to Array.forEach.
The callback is provided with the value of the property, the name of the property
and a reference to the whole object itself.
The context to run the callback in can be overriden, otherwise it is undefined.

@method itsa_each
@param fn {Function} Function to be executed on each item in the object.  It will receive
value {any} value of the property
key {string} name of the property
obj {Object} the whole of the object
@chainable
Loops through all properties in the object . Equivalent to Array . forEach . The callback is provided with the value of the property the name of the property and a reference to the whole object itself . The context to run the callback in can be overriden otherwise it is undefined .