Olay işleyicileri için geri aramalar kapsamını değiştirir olarak örnek yöntemleri kullanarak thisgelen "My örneğine" için "sadece geri arama ne istedilerse" . Yani kodum şöyle görünüyor
function MyObject() {
this.doSomething = function() {
...
}
var self = this
$('#foobar').bind('click', function(){
self.doSomethng()
// this.doSomething() would not work here
})
}
Çalışıyor, ama bunu yapmanın en iyi yolu bu mu? Bana tuhaf geliyor.
thisJavaScript dinamiktir fonksiyon zaman belirlenir. Adlandırılır bunun bildirildi değilken,."
self === this. Bu nedenle, selfyerel bağlamlarda mantıklı ve takip ediyor.
selfBirwindow.selfnesne olduğundan kaçınmalısınız ve kendi varlığınızı beyan etmeyi unutursanızself(örneğin bazı kodları hareket ettirirken) yanlışlıkla bunu kullanabilirsiniz . Bu nokta / hata ayıklama için can sıkıcı olabilir. Gibi bir şey kullanmak daha iyi_this.