【发布时间】:2011-01-16 23:23:32
【问题描述】:
我不确定“function x(){}”或“this.x=function(){}”之间的区别,但我必须制作一个面向对象的 JavaScript,其布局如下:
function PROJECT(){
...
...
...
this.main_call=function(...){ return this.recursive_call(...); }
this.recursive_call=function(...){
...
var local,variables;
function helper(...,ref){
...
ref.recursive_call(...);
}
...
helper(...,this);
...
}
}
x=new PROJECT();
x.main_call(input);
我的问题是这是否是好的样式,或者是否有某种方法可以调用辅助函数(用于停止一遍又一遍地复制相同的代码),而无需传递“this”指针。我有点担心,因为辅助函数已经访问了 recursive_call 中的所有局部变量,但是如果我尝试直接访问 this.recursive_call,它会引发错误。在尝试声明 this.helper=function(...){...} 时,我还遇到了变量覆盖的问题。
【问题讨论】:
标签: javascript oop function