将命名空间变量设置为“private”

时间:2017-11-09 19:27:03

标签: javascript jquery

我正在创建一个命名空间,并且想知道如何限制命名空间变量的可访问性,以便只能从命名空间内部访问它。

在我的示例代码中,我希望 PrivateExec private,并且无法在命名空间外访问。

var demo = {
    a: "demo",
    b: {
        PrivateExec: function () {
            //execute
        },
        ExecA: function () {
            PrivateExec();
        },
        ExecB: function () {
            PrivateExec();
        }
    }
}

demo.ExecA(); //success
demo.PrivateExec(); //fails because of private

1 个答案:

答案 0 :(得分:-2)

请勿使用此代码:您的变量应该是私有的!

var value = Symbol();
class MyClass {
    constructor(){
        this[value] = "this is a test string";
    }
}

var call = new MyClass();

console.log(call.value); // should be undefined