bind әдісі
bind әдісі функцияға контекстті байлауға мүмкіндік береді.
Бірінші параметр ретінде контекст беріледі,
ал келесі параметрлер функция параметрлері болады.
Әдіс жаңа функцияны қайтарады,
онда this берілген контекстке тең болады.
Синтаксис
функция.bind(контекст, параметр1, параметр2...);
Мысал
Бізде енгізу өрісі бар делік:
<input id="elem" value="text">
Бұл енгізу өрісіне сілтеме elem айнымалысына жазылғын делік:
let elem = document.querySelector('#elem');
Сондай-ақ бізде келесі func функциясы бар делік:
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
bind көмегімен func функциясының көшірмесі болатын
жаңа функция жасайық, бірақ онда this әрқашан elem тең болады:
let newFunc = func.bind(elem);
Енді newFunc айнымалысында функция бар.
Оны шақырып, бірінші параметр ретінде '1',
ал екінші параметр ретінде '2' берейік:
newFunc('1', '2');
Барлығын біріктірейік:
let elem = document.getElementById('elem');
function func(param1, param2) {
console.log(this.value + param1 + param2);
}
let newFunc = func.bind(elem);
newFunc('1', '2'); // шығарады 'text12'
Мысал
bind нәтижесін жаңа newFunc функциясына жазу міндетті емес,
func ті қайта жазуға болады:
let func = func.bind(elem);