Meetod bind
Meetod bind võimaldab siduda konteksti funktsiooniga.
Esimeseks parameetriks tuleb edastada
kontekst, ning järgnevateks parameetriteks - funktsiooni
parameetrid. Meetod tagastab uue funktsiooni,
milles this on võrdne edastatud
kontekstiga.
Süntaks
funktsioon.bind(kontekst, parameeter1, parameeter2...);
Näide
Oletame, et meil on input:
<input id="elem" value="text">
Oletame, et viide sellele inputile on salvestatud muutujasse
elem:
let elem = document.querySelector('#elem');
Oletame, et meil on ka järgmine funktsioon
func:
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
Teeme bind abil uue
funktsiooni, mis on funktsiooni func koopia,
kuid this selles on alati võrdne elemga:
let newFunc = func.bind(elem);
Nüüd on muutujas newFunc
funktsioon. Kutsume selle esile, edastades esimese
parameetrina '1' ja teise '2':
newFunc('1', '2');
Panime kõik kokku:
let elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // väljastab 'text12'
Näide
Pole vaja bind tulemust
salvestada uude funktsiooni newFunc,
saab lihtsalt üle kirjutada func:
let func = func.bind(elem);