Можно ли получить доступ к частным переменным в шаблоне модуля динамически?

Есть ли способ сделать так, чтобы общедоступная функция из шаблона модуля динамически обращалась к частным переменным? test1 показывает, что я имею в виду под «динамическим доступом», но с общедоступными переменными

var x = (function(){
    var x=0, y=2, z=5;

    return {
        toast: 123,
        test1: function(arg){
            return this[arg];
        },
        test2: function(){
            // ??
        }
    };
}());

console.log(x.test1("toast")); // 123
console.log(x.test2("y")); // should return 2

Я закончил тем, что создал единственную частную переменную (объект), хранящую мои частные переменные, поэтому я мог получить к ним доступ таким образом

 privateVarStore[privateVarName]

Но есть ли еще решение для этого?

11
задан mu is too short 25 December 2011 в 04:35
поделиться