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
chaguo_za_kukokotoa.bind(muktadha, kigezo1, kigezo2...);
Mfano
Tuchukulie tuna kichagiao:
<input id="elem" value="text">
Tuchukulie kiungo cha kichagiao hiki kimeandikwa kwenye kutofautisha
elem:
let elem = document.querySelector('#elem');
Tuchukulie pia tuna chaguo za kukokotoa zifuatazo
func:
function 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:
let 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':
newFunc('1', '2');
Wacha tukusanye pamoja:
let 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:
let func = func.bind(elem);