Kontekstas per parametrą JavaScript
Yra ir kitas problemos sprendimas. Padarykime
taip, kad funkcija child priimtų
parametrą:
function child(param) {
// čia bus kodas
}
O iškviečiant šią funkciją perduosime
į ją this:
function parent() {
child(this); // perduodame this kaip parametrą
function child(param) {
// kintamajame param yra perduotas this turinys
}
}
Kadangi child iškvietimas atliekamas
tėvinėje funkcijoje, tai ir perduodamas
this nurodo į tai, ko reikia. Tada
šis this pateka į parametrą param
ir tokia forma bus prieinamas funkcijos viduje.
Štai galutinis kodas:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // perduodame this kaip parametrą
function child(param) {
console.log(param.value); // išvedame inputo value
}
}
Paimkite kodą iš ankstesnės užduoties ir ištaisykite kodo problemą naudodami išnagrinėtą antrąjį būdą.