Kontext via parameter i JavaScript
Det finns en annan lösning på problemet. Låt oss göra
så att funktionen child tar emot
en parameter:
javascriptfunction child(param) {
// kod kommer att vara här
}
Och när vi anropar denna funktion kommer vi att skicka
this till den som en parameter:
javascriptfunction parent() {
child(this); // skickar this som en parameter
function child(param) {
// i variabeln param ligger det överförda innehållet från this
}
}
Eftersom anropet till child utförs
i den överordnade funktionen, så pekar det överförda
this på det som behövs. Sedan
hamnar denna this i parametern param
och kommer att vara tillgänglig inuti funktionen i detta skick.
Här är den slutgiltiga koden:
javascriptlet elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // skickar this som en parameter
function child(param) {
console.log(param.value); // skriver ut inputens value
}
}
Задание 1
Ta koden från den föregående uppgiften och åtgärda problem med koden med hjälp av det andra sättet som studerats.