如何在javascript中调用另一个特权方法中的特权方法

时间:2013-09-12 03:20:14

标签: javascript

我有一个类有2个特权方法:

function ABC() {
     this.methodA = function(){

     }
     this.methodB = function(){

     }
}

是否可以在methodA内拨打methodB,如果是,如何拨打电话?

2 个答案:

答案 0 :(得分:2)

是的,但您需要参考它。如果始终使用相同的上下文调用methodB,则您只需使用methodAmethodB拨打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();
     }
}