@reinmaker1990

Зачем сохранять контекст вызова в переменную?

Не понимаю, зачем используется var self = this, как и вообще this присваивается, читал, что это используется, чтобы во вложенных функция использовать основной контекст функции, но почему-то в простом примере
function a() {
    let self = this; // widnow
    console.log(this); 
    var fn = function () {
      console.log(this); //widnow
      console.log(self); // function a
    };
    fn();
  }
  a();

получается, что все console.log выводят window.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
art9mid
@art9mid
front-end
Не коректный пример (

function a() {
    let self = this; // widnow
    console.log(this); 
    var fn = function () {
      console.log(this); //widnow
      console.log(self); // function a - widnow
    };
    fn();
  }
  a();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы