Metode bind
Metode bind bind konteks aan 'n funksie.
As eerste parameter moet die konteks oorgedra word,
en as volgende parameters - die parameters van die
funksie. Die metode gee 'n nuwe funksie terug,
waarbinne this gelyk sal wees aan die oorgedraagde
konteks.
Sintaksis
funksie.bind(konteks, parameter1, parameter2...);
Voorbeeld
Kom ons het 'n invoerveld:
<input id="elem" value="text">
Kom ons skakel na hierdie invoerveld is opgeskryf in veranderlike
elem:
let elem = document.querySelector('#elem');
Kom ons het ook die volgende funksie
func:
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
Kom ons maak met behulp van bind 'n nuwe
funksie, wat 'n kopie van funksie func sal wees,
maar this daarin sal altyd gelyk wees aan elem:
let newFunc = func.bind(elem);
Nou lê daar 'n funksie in veranderlike newFunc.
Kom ons roep dit, deur in die eerste
parameter '1' oor te dra, en in die tweede '2':
newFunc('1', '2');
Kom ons bring alles saam:
let elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // sal 'text12' uitvoer
Voorbeeld
Dit is nie nodig om die resultaat van
bind in 'n nuwe funksie newFunc te skryf nie,
kan eenvoudig func oorskryf:
let func = func.bind(elem);