我有一个简单的函数,我正在尝试访问实例变量。但它给了我一些错误。如何在Javascript中访问实例变量?我尝试了以下方法,但没有工作
function Test(){
var a=10;
}
var test=new Test();
test.a=20;
出于某种原因,我不想采用以下方式:
var Test={
a:''
}
答案 0 :(得分:5)
您将a
声明为该函数的本地变量,因此无法在外部访问它(因为您目前拥有它)
如果您希望a
成为实例变量,请将其附加到对象
function Test(){
this.a=10;
}
var test=new Test();
test.a=20;
答案 1 :(得分:2)
答案 2 :(得分:0)
现有答案告诉您如何通过将a
设为公共财产来实现此目的。如果您确实需要私有变量,请使用以下代码。使用此代替公共属性的主要原因是阻止调用者将a
设置为无效值。
function Test() {
var a = 10;
this.setA = function(val) {
a = val;
};
this.getA = function(val) {
return a;
};
}
var t = new Test();
t.setA(80);
t.getA(); // 80