我已经定义了这样一个类:
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。
答案 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);
但实际上它可能不是解决问题的好方法。