Метод call

Методът call позволява извикване на функция с зададен контекст. Първият параметър на метода трябва да бъде контекстът на функцията, а останалите параметри - параметрите на функцията.

Синтаксис

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

Пример

Нека имаме input поле:

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

Нека е дадена и функция, която приема три параметъра:

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

Нека извикаме нашата функция така, че this вътре във функцията да бъде равен на нашето input поле, и при това да й подадем като параметри числата 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,
    който свързва контекст към функция