Kontext přes parametr v JavaScriptu
Existuje i jiné řešení problému. Uděláme
tak, aby funkce child přijímala
parametr:
function child(param) {
// zde bude kód
}
A při volání této funkce do ní budeme předávat
this:
function parent() {
child(this); // předáme parametrem this
function child(param) {
// v proměnné param leží předaný obsah this
}
}
Protože volání child je provedeno
v rodičovské funkci, tak i předávaný
this ukazuje na to, co je potřeba. Poté
se tento this dostane do parametru param
a v této podobě bude uvnitř funkce dostupný.
Zde je finální kód:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // předáme parametrem this
function child(param) {
console.log(param.value); // vypíšeme value inputu
}
}
Vezměte kód z předchozího úkolu a opravte problém kódu pomocí probraného druhého způsobu.