我有一个类有2个特权方法:
function ABC() {
this.methodA = function(){
}
this.methodB = function(){
}
}
是否可以在methodA
内拨打methodB
,如果是,如何拨打电话?
答案 0 :(得分:2)
是的,但您需要参考它。如果始终使用相同的上下文调用methodB
,则您只需使用methodA
从methodB
拨打this.methodA();
:
var a = new ABC;
a.methodB(); // Correctly calls methodA();
var func = a.methodB;
func(); // Fails because `this` is not referring to `a` anymore
如果您执行以下操作,它将以两种方式工作:
function ABC() {
var methodA = this.methodA = function(){
}
this.methodB = function(){
methodA();
}
}
答案 1 :(得分:1)
function ABC() {
var self = this;
this.methodA = function(){
}
this.methodB = function(){
self.methodA();
}
}