Javascript 如何使用构造函数中的公共函数访问私有变量
如何使用构造函数中的公共函数访问私有变量Javascript 如何使用构造函数中的公共函数访问私有变量,javascript,variables,properties,constructor,private,Javascript,Variables,Properties,Constructor,Private,如何使用构造函数中的公共函数访问私有变量 function construct(){ var priValue1 = 0; var priValue2 = 0; var priValue3 = 0; this.getvalue = function(_input){ return this[_input]; } } construct.prototype.init = function(){ if(this.getv
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();
无法访问私有变量 您可以将私有变量存储在对象中,并通过属性名访问它们
函数构造(){
var priVars={
1:0,
priValue2:0,
隐私3:0
};
this.getvalue=函数(\u输入){
返回priVars[_输入];
}
}
construct.prototype.init=函数(){
if(this.getvalue(“priValue1”)){
console.log(“值1”)
}
}
var nc=新构造();
nc.init()代码>您可以将私有变量存储在对象中,并通过属性名访问它们
函数构造(){
var priVars={
1:0,
priValue2:0,
隐私3:0
};
this.getvalue=函数(\u输入){
返回priVars[_输入];
}
}
construct.prototype.init=函数(){
if(this.getvalue(“priValue1”)){
console.log(“值1”)
}
}
var nc=新构造();
nc.init()代码>当您声明一个“私有变量”时,该变量不存储在this
上,该变量可作为范围变量访问。我会用你自己的代码来写
this.getvalue = function(_input){
return eval(_input);
}
若要在声明“private var”时动态获取值,该变量不存储在this
上,则该变量可作为范围变量访问。我会用你自己的代码来写
this.getvalue = function(_input){
return eval(_input);
}
要动态地获取值返回输入
,而不是返回这个[\u输入]
@sandepnayak,我认为这行不通。这将返回传入的参数。我想他们想访问他们声明的变量。在上定义变量。例如this.priValue1=0
codefunction-construct(){this.priValue1=110;this.priValue2=120;this.priValue3=130;this.getvalue=function(_-input){console.log(_-input);console.log(this[_-input]);返回此[_-input];};}construct.prototype.init function(){if(this.getvalue(“priValue1”){console.log(“Value 1”);};var nc=new construct();nc.init();
@AlexanderO'Mara:同意。错过了那部分;返回输入
而不是返回这个[\u输入]
@sandepnayak我认为这行不通。这将返回传入的参数。我想他们想访问他们声明的变量。在上定义变量。例如this.priValue1=0
codefunction-construct(){this.priValue1=110;this.priValue2=120;this.priValue3=130;this.getvalue=function(_-input){console.log(_-input);console.log(this[_-input]);返回此[_-input];};}construct.prototype.init function(){if(this.getvalue(“priValue1”){console.log(“Value 1”);};var nc=new construct();nc.init();
@AlexanderO'Mara:同意。错过了那部分;)Eww。。。如果eval
是答案,那么这个问题就错了。也许这个问题错了,因为javascript上没有私有变量;)使用对象也很不错!哎哟。。。如果eval
是答案,那么这个问题就错了。也许这个问题错了,因为javascript上没有私有变量;)使用对象也很不错!