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

setting public property in a private function executed on initialization Javascript

本文关键字:函数 设置 属性 Javascript 初始化 执行      更新时间:2024-05-12

我有一个带有的对象

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 之前还可以获得一些其他变量

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

privateInitFunc.call(this)