Metodo apply

Il metodo apply consente di chiamare una funzione con un contesto specificato. Il primo parametro del metodo dovrebbe essere il contesto della funzione, e il secondo - un array di parametri della funzione.

Sintassi

javascriptfunzione.apply(contesto, array di parametri);

Esempio

Supponiamo di avere un input:

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

Supponiamo anche una funzione che accetta tre parametri:

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

Chiamiamo la nostra funzione in modo che this all'interno della funzione sia uguale al nostro input, e allo stesso tempo passandole come parametri i numeri 1, 2 e 3:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem, [1, 2, 3]);

Esempio

Supponiamo che la funzione non accetti parametri:

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

In questo caso, quando si chiama questa funzione tramite apply, è sufficiente passare solo il primo parametro con il contesto:

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

Vedi anche

  • metodo call,
    che chiama una funzione con un contesto
  • metodo bind,
    che lega un contesto a una funzione