如何创建公共和私人会员?

Bla*_*man 5 javascript jquery

我有点困惑,我怎样才能创建公共和私人成员.

到目前为止,我的代码模板如下:

(function()){
   var _blah = 1;

   someFunction = function() {
     alert(_blah);
   };

   someOtherFunction = function() {
     someFunction();
   }
}();
Run Code Online (Sandbox Code Playgroud)

Dan*_*llo 14

您可能想要使用Yahoo Module Pattern:

myModule = function () {

    //"private" variables:
    var myPrivateVar = "I can be accessed only from within myModule."

    //"private" method:
    var myPrivateMethod = function () {
        console.log("I can be accessed only from within myModule");
    }

    return {
        myPublicProperty: "I'm accessible as myModule.myPublicProperty."

        myPublicMethod: function () {
            console.log("I'm accessible as myModule.myPublicMethod.");

            //Within myProject, I can access "private" vars and methods:
            console.log(myPrivateVar);
            console.log(myPrivateMethod());
        }
    };
}();
Run Code Online (Sandbox Code Playgroud)

您可以定义您的私有成员myPrivateVarmyPrivateMethod定义,并在你的公共成员myPublicPropertymyPublicMethod定义.

您可以按如下方式访问公共方法和属性:

myModule.myPublicMethod();    // Works
myModule.myPublicProperty;    // Works
myModule.myPrivateMethod();   // Doesn't work - private
myModule.myPrivateVar;        // Doesn't work - private
Run Code Online (Sandbox Code Playgroud)