如何使用构造函数中的公共 public 函数访问私有变量

How to access a private variables using a common public function within the constructor

如何在构造函数中使用通用 public 函数访问私有变量。

function construct(){

    var priValue1 = 0;
    var priValue2 = 0;
    var priValue3 = 0;    

    this.getvalue = function(_input){
        return this[_input];
    }

}

construct.prototype.init = function(){
    if(this.getvalue("priValue1")){
        console.log("Value 1")
    }
}

var nc = new construct();
nc.init();

无法访问私有变量。

您可以将私有变量存储在一个对象中,并通过 属性 名称访问它们。

function construct(){
    var priVars = {
        priValue1: 0,
        priValue2: 0,
        priValue3: 0
    };

    this.getvalue = function(_input){
        return priVars[_input];
    }

}

construct.prototype.init = function(){
    if(this.getvalue("priValue1")){
        console.log("Value 1")
    }
}

var nc = new construct();
nc.init();

当您声明一个 "private var" 时,它不会存储在 this 上,该变量可以作为范围变量访问。使用你自己的代码我会写

this.getvalue = function(_input){
    return eval(_input);
}

动态获取值