Context via parameter in JavaScript
Er is nog een andere oplossing voor het probleem. Laten we ervoor zorgen
dat de functie child een
parameter accepteert:
function child(param) {
// hier komt de code
}
En bij het aanroepen van deze functie geven we
this eraan door
als parameter:
function parent() {
child(this); // geef this door als parameter
function child(param) {
// in de variabele param ligt de doorgegeven inhoud van this
}
}
Omdat de aanroep van child plaatsvindt
in de ouderlijke functie, wijst de doorgegeven
this ook naar wat het zou moeten. Vervolgens
komt deze this terecht in de parameter param
en zal het op deze manier beschikbaar zijn binnen de functie.
Hier is de uiteindelijke code:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // geef this door als parameter
function child(param) {
console.log(param.value); // we voeren de value van de input uit
}
}
Neem de code uit de vorige taak en los het probleem van de code op met behulp van de bestudeerde tweede methode.