Метод call в JavaScript
Метод 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);