Add bindAll
This commit is contained in:
26
snippets/bindAll.md
Normal file
26
snippets/bindAll.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
### bindAll
|
||||||
|
|
||||||
|
Explain briefly what the snippet does.
|
||||||
|
|
||||||
|
Use `Array.forEach()` to return a `function` that uses `Function.apply()` to apply the given context (`obj`) to `fn` for each function specified.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const bindAll = (obj, ...fns) =>
|
||||||
|
fns.forEach(
|
||||||
|
fn =>
|
||||||
|
(obj[fn] = function() {
|
||||||
|
return fn.apply(obj);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
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.
|
||||||
|
```
|
||||||
@ -5,6 +5,7 @@ atob:node,string,utility
|
|||||||
average:math,array
|
average:math,array
|
||||||
averageBy:math,array,function
|
averageBy:math,array,function
|
||||||
bind:function,object
|
bind:function,object
|
||||||
|
bindAll:object,function
|
||||||
bindKey:function,object
|
bindKey:function,object
|
||||||
bottomVisible:browser
|
bottomVisible:browser
|
||||||
btoa:node,string,utility
|
btoa:node,string,utility
|
||||||
@ -214,7 +215,7 @@ sortedLastIndexBy:array,math,function
|
|||||||
splitLines:string
|
splitLines:string
|
||||||
spreadOver:adapter
|
spreadOver:adapter
|
||||||
standardDeviation:math,array
|
standardDeviation:math,array
|
||||||
stripHTMLtags:uncategorized
|
stripHTMLTags:string,utility,regexp
|
||||||
sum:math,array
|
sum:math,array
|
||||||
sumBy:math,array,function
|
sumBy:math,array,function
|
||||||
sumPower:math
|
sumPower:math
|
||||||
|
|||||||
Reference in New Issue
Block a user