Kontekst preko parametra u JavaScript-u
Postoji i drugo rešenje problema. Učinićemo
da funkcija child prima
parametar:
function child(param) {
// ovde će biti kod
}
A pri pozivu ove funkcije prosledićemo
u nju this:
function parent() {
child(this); // prosleđujemo this kao parametar
function child(param) {
// u promenljivoj param se nalazi prosleđeni sadržaj this-a
}
}
Pošto se poziv child izvršava
u roditeljskoj funkciji, onda i prosleđeni
this ukazuje na ono što treba. Zatim
taj this dolazi u parametar param
i u tom obliku će biti dostupan unutar funkcije.
Evo konačnog koda:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // prosleđujemo this kao parametar
function child(param) {
console.log(param.value); // ispisujemo value input-a
}
}
Uzmite kod iz prethodnog zadatka i ispravite problem koda pomoću proučenog drugog načina.