dist/node/loose/Class.js
function doBind(func) {
        /*jshint validthis:true*/
        var args = toArray(arguments),
            bound;

        if (this && !func[$wrapped] && this.$static && this.$static[$class]) {
            func = wrapMethod(null, func, this.$self || this.$static);
        }

        args.splice(1, 0, this);
        bound = bind.apply(func, args);

        return bound;
    }
function doBind(func) {
        /*jshint validthis:true*/
        var args = toArray(arguments),
            bound;

        if (this && !func[$wrapped] && this.$static && this.$static[$class]) {
            func = wrapMethod(null, func, this.$self || this.$static);
        }

        args.splice(1, 0, this);
        bound = bind.apply(func, args);

        return bound;
    }
function doBind ( func ) { /*jshint validthis:true*/ var args = toArray ( arguments ) , bound ; if ( this && ! func [ $wrapped ] && this . $static && this . $static [ $class ] ) { func = wrapMethod ( null , func , this . $self || this . $static ) ; } args . splice ( 1 , 0 , this ) ; bound = bind . apply ( func , args ) ; return bound ; }
Bind.
Works for anonymous functions also.

@param {Function} func   The function to be bound
@param {...mixed} [args] The arguments to also be bound

@return {Function} The bound function
Bind . Works for anonymous functions also .