Kontekst prek parametra v JavaScript
Obstaja še druga rešitev problema. Naredimo tako,
da funkcija child sprejme
parameter:
function child(param) {
// tukaj bo koda
}
Pri klicu te funkcije pa ji bomo podali
this kot parameter:
function parent() {
child(this); // podamo this kot parameter
function child(param) {
// v spremenljivki param je vsebina this, ki smo jo podali
}
}
Ker se klic child izvaja
v nadrejeni funkciji, this, ki ga podamo,
kaže na pravo stvar. Nato
ta this pride v parameter param
in v tej obliki bo dostopen znotraj funkcije.
Tu je končna koda:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // podamo this kot parameter
function child(param) {
console.log(param.value); // izpišemo value vnosnega polja
}
}
Vzemite kodo iz prejšnje naloge in popravite težavo v kodi z uporabo druge preučene metode.