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