Kontekst przez parametr w JavaScript
Istnieje inne rozwiązanie problemu. Sprawmy,
aby funkcja child przyjmowała
parametr:
function child(param) {
// tutaj będzie kod
}
A przy wywołaniu tej funkcji będziemy przekazywać
do niej this:
function parent() {
child(this); // przekazujemy this jako parametr
function child(param) {
// w zmiennej param znajduje się przekazana zawartość this
}
}
Ponieważ wywołanie child odbywa się
w funkcji rodzica, to przekazywany
this wskazuje na to, co trzeba. Następnie
ten this trafia do parametru param
i w takiej formie będzie dostępny wewnątrz funkcji.
Oto ostateczny kod:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // przekazujemy this jako parametr
function child(param) {
console.log(param.value); // wyświetlamy value inputa
}
}
Weź kod z poprzedniego zadania i popraw problem kodu za pomocą poznanego drugiego sposobu.