Spaces:
Runtime error
Runtime error
| var arrayEach = require('./_arrayEach'), | |
| baseAssignValue = require('./_baseAssignValue'), | |
| bind = require('./bind'), | |
| flatRest = require('./_flatRest'), | |
| toKey = require('./_toKey'); | |
| /** | |
| * Binds methods of an object to the object itself, overwriting the existing | |
| * method. | |
| * | |
| * **Note:** This method doesn't set the "length" property of bound functions. | |
| * | |
| * @static | |
| * @since 0.1.0 | |
| * @memberOf _ | |
| * @category Util | |
| * @param {Object} object The object to bind and assign the bound methods to. | |
| * @param {...(string|string[])} methodNames The object method names to bind. | |
| * @returns {Object} Returns `object`. | |
| * @example | |
| * | |
| * var view = { | |
| * 'label': 'docs', | |
| * 'click': function() { | |
| * console.log('clicked ' + this.label); | |
| * } | |
| * }; | |
| * | |
| * _.bindAll(view, ['click']); | |
| * jQuery(element).on('click', view.click); | |
| * // => Logs 'clicked docs' when clicked. | |
| */ | |
| var bindAll = flatRest(function(object, methodNames) { | |
| arrayEach(methodNames, function(key) { | |
| key = toKey(key); | |
| baseAssignValue(object, key, bind(object[key], object)); | |
| }); | |
| return object; | |
| }); | |
| module.exports = bindAll; | |