Mbinuda bind

Mbinuda bind inaweza kuunganisha muktadha kwa chaguo za kukokotoa. Kama kigezo cha kwanza unapaswa kupeleka muktadha, na vigezo vinavyofuata - vigezo vya chaguo za kukokotoa. Mbinuda hurudisha chaguo za kukokotoa mpya, ndani ya ambayo this itakuwa sawa na muktadha uliopitishwa.

Syntax

javascriptchaguo_za_kukokotoa.bind(muktadha, kigezo1, kigezo2...);

Mfano

Tuchukulie tuna kichagiao:

html<input id="elem" value="text">

Tuchukulie kiungo cha kichagiao hiki kimeandikwa kwenye kutofautisha elem:

javascriptlet elem = document.querySelector('#elem');

Tuchukulie pia tuna chaguo za kukokotoa zifuatazo func:

javascriptfunction func(param1, param2) {
  console.log(this.value + param1 + param2);
}

Wacha kwa kutumia bind tutengeneze chaguo za kukokotoa mpya, ambayo itakuwa nakala ya chaguo za kukokotoa func, lakini this ndani yake itakuwa sawa na elem daima:

javascriptlet newFunc = func.bind(elem);

Sasa kwenye kutofautisha newFunc kuna chaguo za kukokotoa. Wacha tuiite, tukipeleka kwenye kigezo cha kwanza '1', na kwa cha pili '2':

javascriptnewFunc('1', '2');

Wacha tukusanye pamoja:

javascriptlet elem = document.getElementById('elem');

function func(param1, param2) {
  console.log(this.value + param1 + param2);
}

let newFunc = func.bind(elem);
newFunc('1', '2'); // itatoa 'text12'

Mfano

Si lazima kuandika matokeo ya kufanya kazi ya bind kwenye chaguo za kukokotoa mpya newFunc, unaweza tu kuiandika upya func:

javascriptlet func = func.bind(elem);

Angalia pia

  • mbinuda call,
    ambayo inaita chaguo za kukokotoa na muktadha
  • mbinuda apply,
    ambayo inaita chaguo za kukokotoa na muktadha