code: 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;
    }
docs: 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