პარამეტრის მეშვეობით კონტექსტი JavaScript-ში

არსებობს პრობლემის სხვა გადაწყვეტაც. მოდით, გავაკეთოთ ისე, რომ ფუნქცია child მიიღებდეს პარამეტრს:

javascriptfunction child(param) {
  // აქ იქნება კოდი
}

ამ ფუნქციის გამოძახებისას კი ჩვენ გადავცემთ მას this-ს:

javascriptfunction parent() {
  child(this); // გადავცემთ პარამეტრად this-ს
  
  function child(param) {
    // param ცვლადში არის გადაცემული this-ის შიგთავსი
  }
}

რადგან child-ის გამოძახება ხდება მშობელ ფუნქციაში, გადაცემული this მიუთითებს იმაზე, რაც საჭიროა. შემდეგ ეს this ხვდება param პარამეტრში და ამ ფორმით იქნება ხელმისაწვდომი ფუნქციის შიგნით.

აი საბოლოო კოდი:

javascriptlet elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);

function parent() {
  child(this); // გადავცემთ პარამეტრად this-ს
  
  function child(param) {
    console.log(param.value); // ვპრინტავთ ინპუთის value-ს
  }
}
Задание 1

აიღეთ კოდი წინა ამოცანიდან და გამასწორეთ კოდის პრობლემა შესწავლილი მეორე გზის გამოყენებით.