function keys (o) {
                    if(o === undefined || o === null) return [];

                    var keys = getKeys(o), idx;
                    if(libs.object.isArguments(o)) {
                        idx = keys.indexOf('length');
                        if(idx > -1) keys.splice(idx, 1);
                    }
                    return keys;
                }
function keys (o) {
                    if(o === undefined || o === null) return [];

                    var keys = getKeys(o), idx;
                    if(libs.object.isArguments(o)) {
                        idx = keys.indexOf('length');
                        if(idx > -1) keys.splice(idx, 1);
                    }
                    return keys;
                }
function keys ( o ) { if ( o === undefined || o === null ) return [ ] ; var keys = getKeys ( o ) , idx ; if ( libs . object . isArguments ( o ) ) { idx = keys . indexOf ( 'length' ) ; if ( idx > - 1 ) keys . splice ( idx , 1 ) ; } return keys ; }
Returns the object's keys.
@param {Object} o The object to operate on.
@returns {Array<String|Number>} The object's key set
@function
Returns the object s keys .