Konteksts caur mainīgo JavaScript

Risinājums ir šāds: ārējā funkcijā ierakstīsim this jebkurā mainīgajā un šis mainīgais būs pieejams iekšējā funkcijā, tāpat kā visi mainīgie (parasti šo mainīgo sauc par self). Tādējādi mēs nodosim this no ārējās funkcijas uz iekšējo:

javascript"use strict";

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

function parent() {
  console.log(this.value); // izvadīs 'text'
  
  let self = this; // ierakstīsim this jebkurā mainīgajā, piemēram, self
  
  function child() {
    console.log(self.value); // izvadīs 'text'
  }
  child();
}
Задание 1

Ir dots šāds kods:

html<input id="elem" value="3">
javascript"use strict";

let elem = document.querySelector('#elem');
elem.addEventListener('blur', func);

function func() {
  alert( square() );
  
  function square() {
    return this.value * this.value;
  }
}

Koda autors gribēja, ka zaudējot fokusu ekrānā tiktu parādīts skaitlis no value inputa kvadrāts. Tomēr kādu iemeslu dēļ, zaudējot fokusu, konsolē tiek parādīta kļūda. Izlabojiet koda autora kļūdu. Uzrakstiet tekstu, kurā jūs paskaidrosiet koda autoram, kāpēc radās viņa kļūda.