我有一堂课有 2 种特权方法:
function ABC() {
this.methodA = function(){
}
this.methodB = function(){
}
}
是否可以调用methodA
inside methodB
,如果可以,如何调用?
我有一堂课有 2 种特权方法:
function ABC() {
this.methodA = function(){
}
this.methodB = function(){
}
}
是否可以调用methodA
inside methodB
,如果可以,如何调用?
是的,但你需要参考它。如果methodB
将始终使用相同的上下文调用,那么您可以methodA
从methodB
using调用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();
}
}
function ABC() {
var self = this;
this.methodA = function(){
}
this.methodB = function(){
self.methodA();
}
}