在Javascript中访问实例变量

时间:2014-02-18 19:40:21

标签: javascript jquery

我有一个简单的函数,我正在尝试访问实例变量。但它给了我一些错误。如何在Javascript中访问实例变量?我尝试了以下方法,但没有工作

function Test(){
   var a=10;
}

var test=new Test();
test.a=20;

出于某种原因,我不想采用以下方式:

var Test={
  a:''
}

3 个答案:

答案 0 :(得分:5)

您将a声明为该函数的本地变量,因此无法在外部访问它(因为您目前拥有它)
如果您希望a成为实例变量,请将其附加到对象

function Test(){
   this.a=10;
}

var test=new Test();
test.a=20;

答案 1 :(得分:2)

将其更改为:

function Test(){
    this.a=10;
}

这里有关于这个主题的好文档:Introduction to Object-Oriented JavaScript

答案 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