Context prin parametru în JavaScript
Există și o altă soluție pentru problemă. Să facem
astfel încât funcția child să accepte
un parametru:
function child(param) {
// aici va fi codul
}
Iar la apelarea acestei funcții vom transmite
în ea this:
function parent() {
child(this); // transmitem this ca parametru
function child(param) {
// în variabila param se află conținutul this transmis
}
}
Deoarece apelul child se realizează
în funcția părinte, și this transmis
indică ceea ce trebuie. Apoi
acest this ajunge în parametrul param
și în această formă va fi accesibil în interiorul funcției.
Iată codul final:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // transmitem this ca parametru
function child(param) {
console.log(param.value); // afișăm value al input-ului
}
}
Luați codul din sarcina anterioară și corectați problema codului cu ajutorul celei de-a doua metode studiate.