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, чтобы он позволил мне загрузить модули.