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);

Həmçinin baxın

  • call metodu,
    funksiyanı kontekslə çağırır
  • apply metodu,
    funksiyanı kontekslə çağırır