"Bu" değişkeni ayarlamak için iyi bir yol bulamadığım dışında Javascript konusunda oldukça iyi bir fikrim var. Şunları düşünün:"Bu" değişkeni kolayca ayarlayın.
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
var old_fn = someObj.fn; //store old value
someObj.fn = myFunction; //bind to someObj so "this" keyword works
someObj.fn();
someObj.fn = old_fn; //restore old value
Son 4 satır olmadan bunu yapmanın bir yolu var mı? Oldukça sinir bozucu ... Ben güzel ve zeki olduğunu düşündüm anonim işlev, bağlayıcı çalıştı, ama boşuna ettik: Açıkçası
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
someObj.(function(){ fn(); })(); //fail.
, myFunction içine değişken geçirmeden bir seçenektir ... ama bu bu sorunun amacı değil.
Teşekkürler.
Ayrıca, jQuery kullanıyorsanız, '$ .proxy (işlev, öğe)' özelliğini kullanabilirsiniz. ne zaman bu functio n denir, eleman bağlamında olacaktır. http://api.jquery.com/jquery.proxy/ –