如何在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代码>更好。