Метод call

Метод call функцияни берилган контекст билан чакириш имконини беради. Методнинг биринчи параметри сифатида функциянинг контексти кўрсатилади, қолган параметрлар эса функциянинг параметрлари бўлади.

Синтаксис

javascriptфункция.call(контекст, параметр1, параметр2...);

Мисол

Фарз қилайлик, бизда инпут бор:

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

Яна бир функция берилган бўлиб, у учта параметр қабул қилади:

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

Келинг, бизнинг функциямизни шундай чакирайликки, this функция ичида бизнинг инпутимизга тенг бўлсин, ва бунинг учун унга 1, 2 ва 3 сонларини параметр сифатида берайлик:

javascriptlet elem = document.querySelector('#elem');
func.call(elem, 1, 2, 3);

Мисол

Фарз қилайлик, функция параметрлар қабул қилмасин:

javascriptfunction func() {
  console.log(this.value);
}

Бундай ҳолда бу функцияни call орқали чакирганда, фақат биринчи параметрни контекст билан ўтказиш кифоя:

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

Ёна шунингдек

  • метод apply,
    функцияни контекст билан чакиради
  • метод bind,
    функцияга контекстни боглайди