Kontekst via parameter i JavaScript
Der findes en anden løsning på problemet. Lad os gøre
så funktionen child modtager
en parameter:
function child(param) {
// koden vil være her
}
Og når vi kalder denne funktion, vil vi videregive
this til den som en parameter:
function parent() {
child(this); // sender this som en parameter
function child(param) {
// variablen param indeholder det videregivne indhold af this
}
}
Da kaldet til child udføres
i den forældre funktion, peger den videregivne
this også på det korrekte. Derefter
kommer denne this ind i parameteren param
og vil være tilgængelig inde i funktionen i denne form.
Her er den endelige kode:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // sender this som en parameter
function child(param) {
console.log(param.value); // udskriver input's value
}
}
Tag koden fra den forrige opgave og ret problemet med koden ved hjælp af den anden undersøgte metode.