Как метод класса может получить переменную из функции?

181
31 июля 2021, 15:30

function makeClass(phrase) { 
  return class { 
    sayHi() { 
      alert(phrase); 
    }; 
  }; 
} 
 
let User = makeClass("Привет"); 
 
new User().sayHi();

  1. В переменную User возвращается class из функции makeClass
  2. new User() создается пустой объект в его прототипе находится метод sayHi
  3. Вызываем метод sayHi т.к объект пустой метод найдется в прототипе
  4. Вопрос как alert получает переменную phrase ?
  5. Из-за того что alert встроенная функция и она может искать переменные во внешнем коде (замыкание) ?
READ ALSO
Ya.share2 и динамические материалы

Ya.share2 и динамические материалы

Поделиться от Яндекса не работает на материалы добавленные динамически (ajax)Кнопки просто не отображаются в новых материалах

103
Умножить все значения с одни классом jquery

Умножить все значения с одни классом jquery

Подскажите пожалуйста, как умножить все значения span с определенным классом?

93