This в JavaScript

this в JavaScript

this в JavaScript

this — позволяет обратиться к объекту, который вызывает JavaScript-функцию/метод. Если к нему обратиться вне функции, то он укажет на глобальный объект. При работе в браузере — это объект window. При вызове функции без явного указания объекта или с объектом window, this тоже будет указывать на window. Посмотреть пример из заметки Как узнать контекст выполнения в JavaScript (this) by Aleksei (@htmllabru) на CodePen.

This в JavaScript

var o = {name: "John",say: function(){
  //console.log(this.name);
  var self = this;
  function some(){
    console.log(self.name);
  }
  some();
  
}};
o.say();

При назначении обработчиков событий через атрибуты HTML-элементов onclick и другие «on», this в функциях вызова указывает на глобальный объект. Но если обработчик события программно присваивать свойству onclick, то оператор будет ссылаться на сам объект вызова — HTML-элемент. При использовании метода навешивания обработчиков — elem.addEventListener(), ссылка будет также вести на сам HTML-элемент.

Если учитывать старые версии IE, то понадобиться писать кроссбраузерные «костыли»:

if (el.addEventListener) {
  el.addEventListener('click', handler, false); 
} else if (el.attachEvent)  {
  el.attachEvent('onclick', handler);
}

Полезная ссылка Значение this в обработчике.

Добавить комментарий