Метод apply

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

Синтаксис

javascriptфункция.apply(контекст, параметрлар массиви);

Мисол

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

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.apply(elem, [1, 2, 3]);

Мисол

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

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

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

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

Ҳам қаранг

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