Function binding utility.
$ component install component/bind
<a name="bindobj-fn"></a>
should bind the function to the given object.
var tobi = { name: 'tobi' };
function name() {
return this.name;
}
var fn = bind(tobi, name);
fn().should.equal('tobi');
<a name="bindobj-fn-"></a>
should curry the remaining arguments.
function add(a, b) {
return a + b;
}
bind(null, add)(1, 2).should.equal(3);
bind(null, add, 1)(2).should.equal(3);
bind(null, add, 1, 2)().should.equal(3);
<a name="bindobj-name"></a>
should bind the method of the given name.
var tobi = { name: 'tobi' };
tobi.getName = function() {
return this.name;
};
var fn = bind(tobi, 'getName');
fn().should.equal('tobi');
MIT
# bind Function binding utility. ## Installation ``` $ component install component/bind ``` ## API - [bind(obj, fn)](#bindobj-fn) - [bind(obj, fn, ...)](#bindobj-fn-) - [bind(obj, name)](#bindobj-name) <a name=""></a> <a name="bindobj-fn"></a> ### bind(obj, fn) should bind the function to the given object. ```js var tobi = { name: 'tobi' }; function name() { return this.name; } var fn = bind(tobi, name); fn().should.equal('tobi'); ``` <a name="bindobj-fn-"></a> ### bind(obj, fn, ...) should curry the remaining arguments. ```js function add(a, b) { return a + b; } bind(null, add)(1, 2).should.equal(3); bind(null, add, 1)(2).should.equal(3); bind(null, add, 1, 2)().should.equal(3); ``` <a name="bindobj-name"></a> ### bind(obj, name) should bind the method of the given name. ```js var tobi = { name: 'tobi' }; tobi.getName = function() { return this.name; }; var fn = bind(tobi, 'getName'); fn().should.equal('tobi'); ``` ## License MIT