如何设计一个JavaScript类以干净的方式支持回调?
我试图设计一些类来支持回调功能。MyClass1和MyClass2类不起作用。Class3成功了,但设计真的很糟糕。它使用外部类引用来调用该方法。我想实现一个类似于MyClass1的设计,它更清晰,并且不与外部变量耦合。这种回调机制对ajax调用也非常有用。 $j只是jQuery的别名如何设计一个JavaScript类以干净的方式支持回调?,javascript,Javascript,我试图设计一些类来支持回调功能。MyClass1和MyClass2类不起作用。Class3成功了,但设计真的很糟糕。它使用外部类引用来调用该方法。我想实现一个类似于MyClass1的设计,它更清晰,并且不与外部变量耦合。这种回调机制对ajax调用也非常有用。 $j只是jQuery的别名 function MyClass1() { $j("#myDiv1").click(this.func); this.func = function() { alert("I
function MyClass1() {
$j("#myDiv1").click(this.func);
this.func = function() {
alert("Inside method.");
}
}
var _class2;
function MyClass2() {
_class2 = this;
$j("#myDiv2").click( _class2.func );
this.func = function() {
alert("Inside method.");
}
}
function MyClass3() {
$j("#myDiv3").click( function() { cls3.func(); } );
this.func = function() {
alert("Inside method.");
}
}
var cls1 = new MyClass1();
var cls2 = new MyClass2();
var cls3 = new MyClass3();
你是你的朋友
function MyClass()
{
// This local variable can be closed by the anonymous
// function below
var self = this;
$('#myDiv1').click( function()
{
self.func();
});
this.func = function()
{
alert("Inside method.");
}
}
你是你的朋友
function MyClass()
{
// This local variable can be closed by the anonymous
// function below
var self = this;
$('#myDiv1').click( function()
{
self.func();
});
this.func = function()
{
alert("Inside method.");
}
}
另见。理解这种绑定在JavaScript中的实际工作原理非常重要。答案:在处理观察器和委托时很奇怪。另请参阅。理解这种绑定在JavaScript中的实际工作原理非常重要。答案:在处理观察器和委托时会很奇怪。