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); // input-тың value мәнін шығару
}
}
Алдыңғы тапсырманың кодты алып, зерттелген екінші әдісті қолданып кодтың мәселесін түзетіңіз.