Показать сообщение отдельно
  #5 (permalink)  
Старый 21.03.2014, 15:32
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Потому что контекст функции определяется во время её вызова. Если функция принадлежит объекту, то this будет ссылаться на него, иначе - на глобальный объект:
function test () {
  alert(this.property);
}

var x = {
  test: test, property: "x"
};

var y = {
  test: test, property: "y"
};

window.property = "window";

x.test();
y.test();
test();
Ответить с цитированием