| # 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 |