Показать сообщение отдельно
  #1 (permalink)  
Старый 22.09.2016, 12:24
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Глобальный контекст (смена контекста)
В этом коде, результат будет 81, это я понимаю

var x = 9;
var module = {
  x: 81,
  getX: function() { return this.x; }
};

module.getX();


Но почему, если метод getX указать ссылкой для переменной

var getX = module.getX


И потом вызывать эту переменную

getX()


То x берётся из глобального объекта window, а не из объекта module? Почему так?

По идеи

var getX = module.getX это ссылка

var getX = module.getX() а это присвоение и сразу вызов

Почему меняется контекст?
Ответить с цитированием