调用嵌套Javascript函数时的作用域
当我在网站上使用JS时,我经常喜欢使用function()将代码拆分成逻辑完整的模块,通常是这样的:调用嵌套Javascript函数时的作用域,javascript,jquery,Javascript,Jquery,当我在网站上使用JS时,我经常喜欢使用function()将代码拆分成逻辑完整的模块,通常是这样的: function BigClass() { this.doOneThing = function() { } this.doAnother = function() { } } 稍后,我使用jQuery的.ready()创建我正在使用的类的实例,并将这些实例挂起到各种事件上 var bigClassInstance = new BigClass(); $('a.
function BigClass() {
this.doOneThing = function() {
}
this.doAnother = function() {
}
}
稍后,我使用jQuery的.ready()创建我正在使用的类的实例,并将这些实例挂起到各种事件上
var bigClassInstance = new BigClass();
$('a.something').click(bigClassInstance.doOneThing);
我的问题是。。。从我对doOneThing()的调用执行doAnotherThing()函数的最佳方法是什么?在处理较小的项目时,我只使用bigClassInstance.doNotherthing();,但这不是便携式的
这样做的正确方法是什么?不确定我是否理解这个问题,但是通过使用该函数,您可以更改单击处理程序调用的函数的上下文,即使
此
引用您的bigClassInstance
,而不是jQuery单击上下文:
function BigClass() {
this.doOneThing = function() {
this.doAnother();
}
this.doAnother = function() {
}
}
$('a.something').on( "click", $.proxy( bigClassInstance.doOneThing, bigClassInstance ) );