दिलचस्प पोस्ट
ड्रैग एंड ड्रॉप इंटरफेस के लिए एक पाठ दृश्य जोड़ना – एंड्रॉइड / जावा कैसे एक WPF ऐप प्रोग्राम से बाहर निकलने के लिए? मैं जावा में एक सरणी को कैसे घोषित और आरम्भ करूं? माइस्एसएल में पैसा जमा करना कोनेरी $ location.path काम नहीं कर रहा है जीआईटी रिपॉजिटरी परिवर्तित करने के लिए उथले? अंदर चुने जाने का चयन करें I पायथन फ़ंक्शंस संदर्भ द्वारा कॉल करते हैं मल्टी थ्रेडिंग के साथ अस्थिरता का उपयोग कब किया जाए? एंड्रॉइड अपवाद: क्या आप 'सार्वजनिक शून्य सेटअप (लोकलएक्टिविटी मैनेजर गतिविधि समूह)' को कॉल करना भूल गए हैं bcrypt और बेतरतीब ढंग से उत्पन्न लवण प्रत्येक समूह में अंतिम रिकॉर्ड प्राप्त करना मैं पर्ल में उद्धृत CSV को एक regex के साथ कैसे पार्स कर सकता हूं? सी # "पैरामीटर मान्य नहीं है।" नया बिटमैप बना रहा है सी # बनाएँ / संशोधित करें / .xlsx फ़ाइलें पढ़ें

मैं इस संदर्भ को एक समारोह में कैसे पारित करूं?

मैंने सोचा कि यह कुछ मैं आसानी से गूगल हो सकता है, लेकिन शायद मैं सही सवाल नहीं पूछ रहा हूँ …

मैं किसी निश्चित जावास्क्रिप्ट फ़ंक्शन में "यह" किस प्रकार सेट करता हूं?

उदाहरण के लिए, जैसे jQuery के अधिकांश फ़ंक्शंस जैसे:

$(selector).each(function() { //$(this) gives me access to whatever selector we're on }); 

मैं अपने स्वसंपूर्ण कार्यों को कैसे लिख सकता / कहता हूं, जिन्हें कहा जाता है कि उचित "यह" संदर्भ क्या है? मैं jQuery का उपयोग करता हूं, इसलिए अगर ऐसा करने का एक jQuery-विशिष्ट तरीका है, तो वह आदर्श होगा।

Solutions Collecting From Web of "मैं इस संदर्भ को एक समारोह में कैसे पारित करूं?"

जावास्क्रिप्ट .apply() .call() और .apply() तरीके आप एक समारोह के लिए संदर्भ सेट करने की अनुमति देते हैं।

 var myfunc = function(){ alert(this.name); }; var obj_a = { name: "FOO" }; var obj_b = { name: "BAR!!" }; 

अब आप कॉल कर सकते हैं:

 myfunc.call(obj_a); 

कौन सा FOO चेतावनी होगी दूसरी तरफ, पासिंग obj_b BAR!! सतर्क होगा BAR!!.apply() .call() और .apply() बीच अंतर यह है कि .apply() एक अल्पविराम से अलग सूची लेता है यदि आप अपने फ़ंक्शन पर तर्कों को पास करते हैं और .apply() को एक सरणी की आवश्यकता होती है।

 myfunc.call(obj_a, 1, 2, 3); myfunc.apply(obj_a, [1, 2, 3]); 

इसलिए, आप apply() विधि का उपयोग करके आसानी से फ़ंक्शन hook लिख सकते हैं। उदाहरण के लिए, हम jQuery के लिए एक सुविधा जोड़ना चाहते हैं। .css() विधि हम मूल फ़ंक्शन संदर्भ को स्टोर कर सकते हैं, कस्टम कोड के साथ फ़ंक्शन को अधिलेखित कर सकते हैं और संग्रहीत फ़ंक्शन को कॉल कर सकते हैं।

 var _css = $.fn.css; $.fn.css = function(){ alert('hooked!'); _css.apply(this, arguments); }; 

चूंकि जादू arguments वस्तु वस्तु की तरह एक सरणी है, हम इसे apply() करने के apply() बस पास कर apply() । इस तरह हम गारंटी देते हैं कि सभी पैरामीटर मूल फ़ंक्शन से गुजरते हैं।

का प्रयोग करें :

 _function.call(that, arg1, arg2, etc); 

जहां that ऑब्जेक्ट है जिसे आप फंक्शन में होना चाहते हैं

jQuery एक .call(...) पद्धति का उपयोग करता है जिसमें उस पैरामीटर के रूप में आपके द्वारा पारित फ़ंक्शन के अंदर वर्तमान नोड को असाइन करने का तरीका।

संपादित करें:

जब आपको संदेह होता है, तो jQuery के कोड के अंदर देखने के लिए डर नहींें, ये सब स्पष्ट और अच्छी तरह से प्रलेखित जावास्क्रिप्ट में है।

अर्थात्: इस प्रश्न का उत्तर लाइन 574 के आसपास है,
callback.call( object[ name ], name, object[ name ] ) === false

फ़ंक्शन के भीतर आप इसके संदर्भ को सेट करने के लिए बाँध फ़ंक्शन का उपयोग कर सकते हैं।

 function myFunc() { console.log(this.str) } const myContext = {str: "my context"} const boundFunc = myFunc.bind(myContext); boundFunc(); // "my context"