在初始化Javascript上执行的私有函数中设置公共属性

时间:2015-02-25 19:17:06

标签: javascript constructor private public

我有一个

的对象
myObj = function(){
    this.myPublicMember = null;
    function privateInitFunc(){
         this.myPublicMember = "blah blah test";
    }

    privateInitFunc()
}

myObj.prototype = {
    getPublicMember: function(){ console.log(this.myPublicMember) }
}

我实例化如下:

 var a = new myObj();
 a.getPublicMember // logs Null!

如何在初始化时执行的私有函数中设置公共属性?我需要私有初始化函数,因为在设置myPublicMember

之前还有一些其他变量

1 个答案:

答案 0 :(得分:1)

您应该在调用函数时设置上下文:

privateInitFunc.call(this)