პარამეტრის მეშვეობით კონტექსტი 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-ს
}
}
აიღეთ კოდი წინა ამოცანიდან და გამასწორეთ კოდის პრობლემა შესწავლილი მეორე გზის გამოყენებით.