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

如何在javascript中的另一个特权方法中调用特权方法,javascript,Javascript,我有一个类,有两个特权方法: function ABC() { this.methodA = function(){ } this.methodB = function(){ } } 是否可以在methodB内部调用methodA,如果可以,如何调用该方法?是的,但您需要对其进行引用。如果总是使用相同的上下文调用methodB,则可以使用this.methodA()从methodB调用methodA: function ABC() { va

我有一个类,有两个特权方法:

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

     }
     this.methodB = function(){

     }
}

是否可以在
methodB
内部调用
methodA
,如果可以,如何调用该方法?

是的,但您需要对其进行引用。如果总是使用相同的上下文调用
methodB
,则可以使用
this.methodA()从
methodB
调用
methodA

function ABC() {
     var self = this;
     this.methodA = function(){

     }
     this.methodB = function(){
         self.methodA();
     }
}
如果您这样做,它将双向工作:

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

     }
     this.methodB = function(){
         methodA();
     }
}

是的,但是你需要一个参考资料。如果总是使用相同的上下文调用
methodB
,则可以使用
this.methodA()从
methodB
调用
methodA

如果您这样做,它将双向工作:

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

     }
     this.methodB = function(){
         methodA();
     }
}

我们不能使用
此.methodA()
此.methodA()
有效<代码>此
指的是
ABC
,而不是
methodB
。例如,@ThomasUpton:我试过了,然后
uncaughttypeerror:Object[Object global]没有出现methodA()
。我只是更新了到JSFIDLE的链接。这对我有用。如何实例化
ABC
的实例?
var i=new Cart()
我们不能使用
此.methodA()
此.methodA()
有效<代码>此
指的是
ABC
,而不是
methodB
。例如,@ThomasUpton:我试过了,然后
uncaughttypeerror:Object[Object global]没有出现methodA()
。我只是更新了到JSFIDLE的链接。这对我有用。如何实例化
ABC
的实例?
var i=new Cart()
this.methodA()
不起作用,你是说?你没有共享实际调用你的方法的代码,因此很难提供帮助。@Jack,没关系,Jack。它解决了;)
this.methodA()
不起作用,你是说?你没有共享实际调用你的方法的代码,因此很难提供帮助。@Jack,没关系,Jack。它解决了;)创建私有财产
var self=this
然后通过
self.methodB
调用
methodB
,并像上面那样调用一个私有函数?@titi通常并不比另一个好。一个创建对对象
this
的引用,另一个只创建对函数的引用。如果您想阻止
methodB
调用
this.methodC()那么我发布的方式更好,如果你想允许,那么使用
var self=this更好。创建私有财产
var self=this
然后通过
self.methodB
调用
methodB
,并像上面那样调用一个私有函数?@titi通常并不比另一个好。一个创建对对象
this
的引用,另一个只创建对函数的引用。如果您想阻止
methodB
调用
this.methodC()那么我发布的方式更好,如果你想允许,那么使用
var self=this更好。