vendor/optional/lodash-0.3.2.js
function bindAll(object) {
    var funcs = arguments,
        index = 1;

    if (funcs.length == 1) {
      index = 0;
      funcs = functions(object);
    }
    for (var length = funcs.length; index < length; index++) {
      object[funcs[index]] = bind(object[funcs[index]], object);
    }
    return object;
  }
function bindAll(object) {
    var funcs = arguments,
        index = 1;

    if (funcs.length == 1) {
      index = 0;
      funcs = functions(object);
    }
    for (var length = funcs.length; index < length; index++) {
      object[funcs[index]] = bind(object[funcs[index]], object);
    }
    return object;
  }
function bindAll ( object ) { var funcs = arguments , index = 1 ; if ( funcs . length == 1 ) { index = 0 ; funcs = functions ( object ) ; } for ( var length = funcs . length ; index < length ; index ++ ) { object [ funcs [ index ] ] = bind ( object [ funcs [ index ] ] , object ) ; } return object ; }
Binds methods on `object` to `object`, overwriting the existing method.
If no method names are provided, all the function properties of `object`
will be bound.

@static
@memberOf _
@category Functions
@param {Object} object The object to bind and assign the bound methods to.
@param {String} [methodName1, methodName2, ...] Method names on the object to bind.
@returns {Object} Returns the `object`.
@example

var buttonView = {
'label': 'lodash',
'onClick': function() { alert('clicked: ' + this.label); },
'onHover': function() { console.log('hovering: ' + this.label); }
};

_.bindAll(buttonView);
jQuery('#lodash_button').on('click', buttonView.onClick);
// => When the button is clicked, `this.label` will have the correct value
Binds methods on object to object overwriting the existing method . If no method names are provided all the function properties of object will be bound .