тк 3 июля праздник (в беларуси), буду не онлайн (по возможности буду отвечать)

Метод call



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

Синтаксис

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

Пример

Пусть у нас есть инпут:

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

Пусть дана также функция, принимающая три параметра:

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

Давайте вызовем нашу функцию так, чтобы this внутри функции был равен нашему инпуту, и при этом передав ей параметрами числа 1, 2 и 3:

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

Пример

Пусть функция не принимает параметров:

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

В этом случае при вызове этой функции через call достаточно передать только первый параметр с контекстом:

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

Смотрите также

  • метод apply,
    который вызывает функцию с контекстом
  • метод bind,
    который привязывает контекст к функции