BindAll() function in underscore.js is used to bind the number of methods on the object. Each method is given a method name. It is handy to work with the event handlers.
Syntax:
_.bindAll(object, *methodNames)
Parameters:
- Object: It is the object that contains different methods and functions to be bind.
- methodNames: It is the names of methods present in the object.
Return Value: It returns nothing.
Note: Please Link the underscore CDN before using this code directly in the browser through the code.
Example 1:
javascript
<!DOCTYPE html> <html> <head>
<script src =
"https: //cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<button id="button">button</button>
<script type="text/javascript">
var object={
label : 'GeeksforGeeks' ,
click: function (){ console.log(
'clicked: ' + this .label); },
hover: function (){ console.log(
'hovering: ' + this .label); }
};
//using bindall function of underscorejs
_.bindAll(object, 'click' , 'hover' );
/* When the button is clicked,
this.label will have the correct value.*/
let btn=document.querySelector(" #button");
btn.addEventListener( 'click' , object.click);
btn.addEventListener( 'click' , object.hover);
</script>
</body>
</html> |
Output:
Example 2:
javascript
<!DOCTYPE html> <html> <head>
<script src =
"https: //cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<button id="button">button</button>
<script type="text/javascript">
var object={
printNum:()=>{
for (let i=0; i<5; i++)
console.log(i+" geeksforgeeks")
},
func: function (){ console.log(
'Function : ' + this .printNum); },
output: function (){ "Output : "+ this .printNum(); }
};
//using bindall function of underscorejs
_.bindAll(object, 'func' , 'output' );
// When the button is clicked
let btn=document.querySelector(" #button");
btn.addEventListener( 'click' , object.func);
btn.addEventListener( 'click' , object.output);
</script>
</body>
</html> |
Output: