Контекст преку параметар во 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 на инпутот
}
}
Земете го кодот од претходната задача и поправете го проблемот во кодот со помош на изучениот втор начин.