Глобальный контекст (смена контекста)
В этом коде, результат будет 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() а это присвоение и сразу вызов Почему меняется контекст? |
|
Там совсем другой пример
|
https://learn.javascript.ru/object-methods - тут подробно и внятно
|
Я разобрался.
Я просто не понимал, то, что то переменной var getX = module.getX; присваивается только метод getX, а остальное содержимое самого объекта module игнорируется |
DivMan,
Вам же объясняют, что this меняется. Если без this
var x = 9;
var module = {
x: 81,
getX: function() { return module.x; }
};
alert(module.getX());
var getX = module.getX;
alert(getX());
|
| Часовой пояс GMT +3, время: 21:44. |