Контекст през параметър в JavaScript
Съществува и друго решение на проблема. Нека направим
така, че функцията child да приема
параметър:
function child(param) {
// тук ще бъде кода
}
А при извикване на тази функция ще подаваме
в нея this:
function parent() {
child(this); // подаваме като параметър this
function child(param) {
// в променливата param се намира подаденото съдържание на this
}
}
Тъй като извикването на child се извършва
в родителската функция, то и подаваният
this сочи към това, което е нужно. След това
този this попада в параметъра param
и в тази форма ще бъде достъпен вътре във функцията.
Ето окончателния код:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // подаваме като параметър this
function child(param) {
console.log(param.value); // извеждаме value на инпута
}
}
Вземете кода от предходната задача и поправете проблема на кода с помощта на изучения втори начин.