Método call
O método call permite chamar uma função
com um contexto definido. O primeiro parâmetro
do método deve ser o contexto da função,
e os parâmetros restantes - os parâmetros da função.
Sintaxe
função.call(contexto, parâmetro1, parâmetro2...);
Exemplo
Suponha que temos um input:
<input id="elem" value="text">
Suponha também que temos uma função que recebe três parâmetros:
function func(param1, param2, param3) {
console.log(this.value + param1 + param2 + param3);
}
Vamos chamar nossa função de forma que this
dentro da função seja igual ao nosso input, e
ao mesmo tempo passando a ela os números 1,
2 e 3 como parâmetros:
let elem = document.querySelector('#elem');
func.call(elem, 1, 2, 3);
Exemplo
Suponha que a função não recebe parâmetros:
function func() {
console.log(this.value);
}
Neste caso, ao chamar esta função via
call, basta passar apenas o primeiro parâmetro
com o contexto:
let elem = document.querySelector('#elem');
func.call(elem);