64 lines
983 B
Markdown
64 lines
983 B
Markdown
# 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 |