在javascript中从类外部访问对象的私有成员

时间:2011-06-21 06:02:21

标签: javascript

我已经定义了这样一个类:

function Class1(){
   function Func1(){
     /* Methods and vars */
   };

   Funcs = new Array();

   this.appendAction = new function(ArgFunc){
      Funcs.push(ArgFunc);
   };
};

Object1 = new Class1();

function OutFunc(){
    /* Defining commands here */
};
Object1.appendAction(OutFunc);

我的问题是,是否有办法在函数OutFunc()的范围内访问Object1的私有成员,比如Func1(),因为此函数现在是数组Funcs的元素Object1。

1 个答案:

答案 0 :(得分:1)

这有点奇怪,但是对代码的改动很小,我会做类似的事情:

function Class1(){
    function Func1(){
        /* Methods and vars */
    };

    Funcs = new Array();

    this.appendAction = new function(ArgFunc){
       Funcs.push(function() { return ArgFunc(Func1); });
    };
};

Object1 = new Class1();

function OutFunc(func1){
    /* Defining commands here */
    func1();
};
Object1.appendAction(OutFunc);

但实际上它可能不是解决问题的好方法。