Contesto tramite parametro in JavaScript
Esiste anche un'altra soluzione al problema. Facciamo
in modo che la funzione child accetti
un parametro:
function child(param) {
// qui ci sarà il codice
}
E quando chiamiamo questa funzione, passiamo
ad essa this:
function parent() {
child(this); // passiamo this come parametro
function child(param) {
// nella variabile param si trova il contenuto di this passato
}
}
Poiché la chiamata child viene effettuata
nella funzione genitore, anche il this passato
si riferisce a ciò che serve. Successivamente
questo this finisce nel parametro param
e in questa forma sarà accessibile all'interno della funzione.
Ecco il codice finale:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // passiamo this come parametro
function child(param) {
console.log(param.value); // visualizziamo il value dell'input
}
}
Prendete il codice dal compito precedente e correggete il problema del codice utilizzando il secondo metodo studiato.