Contexte via une variable en JavaScript

La solution est la suivante : dans la fonction externe, enregistrons this dans n'importe quelle variable et cette variable sera accessible dans la fonction interne, comme toutes les variables (généralement cette variable est appelée self). Ainsi, nous transmettrons this de la fonction externe à la fonction interne :

javascript"use strict";

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

function parent() {
  console.log(this.value); // affichera 'text'
  
  let self = this; // enregistrons this dans n'importe quelle variable, par exemple, dans self
  
  function child() {
    console.log(self.value); // affichera 'text'
  }
  child();
}
Задание 1

Soit le code suivant :

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;
  }
}

L'auteur du code voulait qu'à la perte du focus le carré du nombre de value de l'input soit affiché à l'écran. Cependant, pour une raison quelconque, à la perte du focus une erreur est envoyée dans la console. Corrigez l'erreur de l'auteur du code. Écrivez un texte dans lequel vous donnerez une explication à l'auteur du code sur la raison pour laquelle son erreur est survenue.