bind metodu
bind metodu funksiyaya kontekst bind etmək üçündür.
Birinci parametr kimi kontekst,
sonrakı parametrlər kimi isə funksiyanın parametrləri
ötürülməlidir. Metod yeni bir funksiya qaytarır,
onun daxilində this ötürülən kontekstə bərabər olacaq.
Sintaksis
javascriptfunksiya.bind(kontekst, parametr1, parametr2...);
Nümunə
Tutaq ki, bizim bir inputumuz var:
html<input id="elem" value="text">
Tutaq ki, bu inputa istinad dəyişəndə
elem yazılıb:
javascriptlet elem = document.querySelector('#elem');
Tutaq ki, bizim həmçinin aşağıdakı func
funksiyası var:
javascriptfunction func(param1, param2) {
console.log(this.value + param1 + param2);
}
Gəlin bind köməyi ilə func funksiyasının
kopyası olan, lakin içindəki this həmişə
elem-ə bərabər olacaq yeni funksiya yaradaq:
javascriptlet newFunc = func.bind(elem);
İndi newFunc dəyişənində bir funksiya var.
Gəlin onu çağıraq, birinci parametrə '1',
ikinciyə isə '2' ötürək:
javascriptnewFunc('1', '2');
Gəlin hamısını bir yerə yığaq:
javascriptlet elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // 'text12' çap edəcək
Nümunə
bind-in işinin nəticəsini yeni newFunc
funksiyasına yazmaq məcburiyyəti yoxdur,
sadəcə func-i yenidən yaza bilərsiniz:
javascriptlet func = func.bind(elem);