Javascript defineGetter

var a = {}; 

a.__defineGetter__('test',function() {return 5;}); 

var i ="test";  

Есть ли другой способ выполнить геттер, кроме a [i] (при использовании var i для этого)

EDIT :

Я спрашивал, как использовать var i для этого. Я объясню реальную проблему немного лучше.

Я использую геттеры на своем объекте пространства имен для загрузки модулей только при необходимости.

MyNameSpace.__defineGetter__('db',function(){MyNameSpace.loadModule('db');});

В этом случае я пытаюсь загрузить все модули:

for (var i in MyNameSpace){
    MyNameSpace[i];
}

Я использую Google closure компилятор в моем коде, и он сокращает этот цикл выше до:

for(var i in MyNameSpace);

Модули не загружаются. Я пытаюсь "обмануть" gcc, чтобы он позволил мне загрузить модули.

5
задан Zearin 6 December 2012 в 19:04
поделиться