Контекст през параметър в 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

Вземете кода от предходната задача и поправете проблема на кода с помощта на изучения втори начин.