Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить контекст контекста. (https://javascript.ru/forum/misc/62415-kak-poluchit-kontekst-konteksta.html)

Keyman 08.04.2016 22:54

Как получить контекст контекста.
 
Такая задача:
1. Есть функция-конструктор Canvas.
2. В Canvas.prototype навешаны куча методов по работе с канвасом.
3. В Canvas.prototype.namespace - навешаны еще некоторые методы/конструкторы и вот суть:
Как мне внутри функции конструктора находящиеся в Canvas.prototype.namespace ссылку на объект, без входящих аргументов, построенный конструктором Canvas?
Простым this тут не обойтись :/

В общем хочу добиться что то вроде этого:
var canv = new Canvas();
var mario = new canv.namespace.Mario();
mario.canvas // Ссылка на canv

Decode 09.04.2016 00:26

Keyman, так чтоле?
function Canvas(value) {
  this.value = value;
}

Object.defineProperty(Canvas.prototype, 'namespace', {
  get: function() {
    var self = this;

    return {
      a: function() {
        return self.value;
      }
    };
  }
});

var canv = new Canvas('bla-bla');

console.log( canv.namespace.a() );


Часовой пояс GMT +3, время: 04:13.