数据隐藏在Javascript中

one*_*ros 8 javascript oop

在Java编程语言中,private关键字用于数据隐藏 - 标记为私有的字段或方法在类或子类之外是不可见的.

如何在javascript中实现?

Ami*_*abh 10

在JavaScript中,标准方式是使用Module Pattern,如下所示.

var testModule = (function () {

    var myPrivateVar = 0;

    var myPrivateMethod = function (someText) {
        console.log(someText);
    };

    return {

        myPublicVar: "foo",

        myPublicFunction: function (bar) {
            myPrivateVar++;
            myPrivateMethod(bar);
        }

    };
})();
Run Code Online (Sandbox Code Playgroud)

用法:在上面的代码中,返回一个包含变量(myPublicVar)和函数(myPublicFunction)的对象.在此函数中,您可以访问内部变量(myPrivateVar)和内部函数(myPrivateMethod),但不能从外部访问.

var mod = new testModule();
mod.myPublicFunction(param);
Run Code Online (Sandbox Code Playgroud)