Kontext cez parameter v JavaScripte
Existuje aj iné riešenie problému. Urobme
tak, aby funkcia child prijímala
parameter:
function child(param) {
// tu bude kód
}
A pri volaní tejto funkcie budeme odovzdávať
do nej this:
function parent() {
child(this); // odovzdáme parametrom this
function child(param) {
// v premennej param leží odovzdaný obsah this
}
}
Keďže volanie child sa vykonáva
v nadradenej funkcii, tak aj odovzdávaný
this ukazuje na to, čo treba. Potom
tento this padne do parametra param
a v takomto tvare bude dostupný vo vnútri funkcie.
Tu je finálny kód:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // odovzdáme parametrom this
function child(param) {
console.log(param.value); // vypíšeme value inputu
}
}
Vezmite kód z predchádzajúcej úlohy a opravte problém kódu pomocou preštudovaného druhého spôsobu.