小编Tim*_*ich的帖子

是否可以动态访问模块模式中的私有变量?

有没有办法从模块模式中动态访问私有变量的公共函数?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
Run Code Online (Sandbox Code Playgroud)

我最终创建了一个存储我的私有变量的私有变量(一个对象),所以我能够像这样访问它们

 privateVarStore[privateVarName]
Run Code Online (Sandbox Code Playgroud)

但是有另一种解决方案吗?

javascript module-pattern

11
推荐指数
2
解决办法
1152
查看次数

标签 统计

javascript ×1

module-pattern ×1