De bind Methode
De methode bind bindt context aan een functie.
Als eerste parameter moet de context worden doorgegeven,
en de volgende parameters zijn de parameters
van de functie. De methode retourneert een nieuwe functie,
waarin this gelijk zal zijn aan de doorgegeven
context.
Syntaxis
functie.bind(context, parameter1, parameter2...);
Voorbeeld
Stel we hebben een input:
<input id="elem" value="text">
Stel dat de verwijzing naar deze input is opgeslagen in de variabele
elem:
let elem = document.querySelector('#elem');
Stel we hebben ook de volgende functie
func:
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
Laten we met bind een nieuwe
functie maken, die een kopie is van functie func,
maar waarbij this erin altijd gelijk zal zijn aan elem:
let newFunc = func.bind(elem);
Nu ligt er een functie in de variabele newFunc.
Laten we haar aanroepen, waarbij we de eerste
parameter '1' doorgeven, en de tweede '2':
newFunc('1', '2');
Laten we alles samenvoegen:
let elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // geeft 'text12' weer
Voorbeeld
Het is niet verplicht om het resultaat van
bind op te slaan in een nieuwe functie newFunc,
je kunt simpelweg func overschrijven:
func = func.bind(elem);