জাভাস্ক্রিপ্ট সম্পর্কে আমার বেশ ভাল বোঝাপড়া আছে, "এই" ভেরিয়েবলটি সেট করার জন্য আমি কোনও দুর্দান্ত উপায় বের করতে পারি না। বিবেচনা:
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
শেষ 4 লাইন ছাড়া এটি করার কোনও উপায় আছে? এটি বরং বিরক্তিকর ... আমি একটি বেনামি ফাংশনকে আবদ্ধ করার চেষ্টা করেছি, যা আমি মনে করি সুন্দর এবং চতুর, তবে কোনও লাভ হয়নি:
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 এ ভেরিয়েবলটি পাস করা একটি বিকল্প ... তবে এটি এই প্রশ্নের মূল বিষয় নয়।
ধন্যবাদ।
$.proxy(function, element)
যাতে ব্যবহার করতে পারেন যখনই এই ফাংশনটি ডাকা হবে তখন এটি উপাদানটির প্রসঙ্গে থাকবে। api.jquery.com/jquery.proxy