Binding del contesto tramite il metodo apply in JavaScript
Ora consideriamo il metodo apply
per il binding del contesto. Funziona praticamente
allo stesso modo del metodo call. La differenza sta
nel fatto che in apply i parametri vengono passati
sotto forma di array, anziché essere elencati separati da virgola.
A seconda del compito, a volte è più conveniente un metodo,
a volte l'altro.
Ecco un esempio di passaggio dei parametri al metodo apply:
func.apply(elem, [param1, param2]);
Si supponga di avere il seguente codice:
<input id="elem" value="hello">
let elem = document.querySelector('#elem');
function func(surname, name) {
console.log(this.value + ', ' + surname + ' ' + name);
}
func(); // qui dovrebbe stampare 'hello, John Smit'
Aggiungi alla ultima riga il metodo apply
in modo che sullo schermo venga visualizzato 'hello,
John Smit'. La parola 'hello' deve
essere presa dal value dell'input, mentre 'John'
e 'Smit' devono essere parametri della funzione.