Вы можете использовать более javascriptous способ сделать это:

ите за нечеткое название поста, я не могу сформулировать правильное название на английском для этого поста.

Например у меня есть такой объект:

var APP = {
    a : 1,
    b : function(){
        return this.a;
    }
}

Таким образом, если я позвонюconsole.log ( APP.b() ) чемthis будет ссылаться на приложение, и результат будет1.

Но как подключиться к приложению из подобъекта? Пример:

var APP = {
    a : 1,
    b : function(){
        return this.a;
    },
    c : {
        c1: function(){
             return APP.a;
        }
    }
}

console.log ( APP.c.c1() ) // 1

Этот пример работает, но плохая идея указывать прямо на приложение. Например:

APP2 = APP;
APP = null;
console.log ( APP2.b() );  // 1
console.log ( APP2.c.c1() ); // APP is undefined

UPD:

У меня есть половина решения: если я объявлю собственностьc как метод:

c : function(){
    var self = this;
    return {
        c1: function(){
            return self.b();
        },
        c2: function(){}
    }
}

Это будет работать, но я должен вызывать метод, а не свойство (слишком много скобок):

console.log( APP2.c().c1() ) вместоconsole.log( APP2.c.c1() )

Ответы на вопрос(3)

Ваш ответ на вопрос