जहां तक मुझे पता है कि एक चर के लिए this
असाइन करने के लिए कॉलबैक के भीतर उपयोग किया जाता है जहां this
गुंजाइश बदल सकती है। लेकिन एक्स्टजेस स्रोत के माध्यम से खोदने के बाद मैंने पाया कि यह सभी प्रकार के कार्यों में उपयोग किया जाता है लेकिन हमेशा नहीं। तो क्या कोई कारण है कि मैं this
को दायरे के नीचे एक स्थानीय चर के लिए असाइन करूंगा या क्या एक्स्टजेस स्रोत सिर्फ विभिन्न डेवलपर शैलियों के साथ संघर्ष कर रहा है?कॉलबैक के बिना लोकेल वैरिएबल को असाइन करने का कारण क्या है?
उत्तर
इसके लिए कुछ कारण हैं, स्थानीय चर का उपयोग करने से सबसे महत्वपूर्ण यह है कि फाइलों के संपीड़न के दौरान कुछ बाइट्स बचाए जाएंगे। यह कोड के एक छोटे से बिट के लिए उतना प्रतीत नहीं हो सकता है, लेकिन यह समय के साथ एक अच्छा सा जोड़ सकता है।
इस मुद्दे के बारे में बात करते हुए सेन्चा मंचों पर एक लंबा धागा है: http://www.sencha.com/forum/showthread.php?132045।
जैसा कि आपने सही ढंग से कहा है this
कभी-कभी उन स्थानों पर उपयोग किया जाता है जहां दायरा बदल सकता है।
ऐसे मामले हैं जहां आप यह सुनिश्चित करने के लिए ऐसा करना चाहते हैं कि कोई स्कोपिंग समस्या न हो।
इसके अलावा, देव कभी-कभी केवल this
को आवश्यकता से अधिक आदत से बाहर एक चर के लिए असाइन करते हैं।
@kevhender ने मुझे सही sencha forum thread पर इंगित किया जहां ईवन ने बहुत अच्छी व्याख्या दी है।
यह केवल आकार के लिए है। और यहाँ एक उदाहरण है:
function doA() {
var me = this;
me.a();
me.b();
me.c();
me.d();
me.e();
me.f();
me.g();
me.h();
me.i();
me.j();
me.k();
me.l();
}
function doB() {
this.a();
this.b();
this.c();
this.d();
this.e();
this.f();
this.g();
this.h();
this.i();
this.j();
this.k();
this.l();
}
संपीडित हम पाते हैं:
function doA(){var a=this;a.a();a.b();a.c();a.d();a.e();a.f();a.g();a.h();a.i();a.j();a.k();a.l()}
function doB(){this.a();this.b();this.c();this.d();this.e();this.f();this.g();this.h();this.i();this.j();this.k();this.l()};
यह कहते हैं।
कि के अनुसार हम चाहिए
नहीं एक स्थानीय वर का उपयोग करता है, तो हम केवल तीन बार
function doA(){var a=this;a.a();a.b();a.c();}; function doB(){this.a();this.b();this.c();};
अप करने के लिए इस का उपयोग करें और इसका इस्तेमाल करते हैं, तो हम इसका अधिक बार उपयोग करें, फिर तीन बार
function doA(){var a=this;a.a();a.b();a.c();a.d()}; function doB(){this.a();this.b();this.c();this.d()};
- 1. वैरिएबल को शून्य करने के लिए क्या आवंटित करता है?
- 2. एक वैरिएबल असाइन करना, वास्तव में क्या होता है, जावा
- 3. कनेक्शन छोड़ने के बिना टीसीपी/आईपी को पैकेट ड्रॉप करने का कारण क्या हो सकता है?
- 4. सी ++ ऑपरेटर के बिना वैरिएबल का पता प्राप्त करें और
- 5. एफएफ को SSL_ERROR_BAD_MAC_READ का उत्पादन करने का कारण क्या है?
- 6. सी ++ में एक कॉन्स int को पॉइंटर वैरिएबल असाइन करना?
- 7. क्या अनुरोधित लोकेल को संग्रहीत करने के लिए थ्रेडलोकल का उपयोग करना ठीक है?
- 8. i18n लेकिन लोकेल परेशानी के बिना?
- 9. उपयोगकर्ता.config को खाली करने का कारण क्या है? और मैं पुनरारंभ किए बिना कैसे पुनर्स्थापित करूं?
- 10. क्या ":: टेम्पलेट" का उपयोग करने का कोई कारण है?
- 11. पृष्ठ को धीमा करने का कारण क्या होता है?
- 12. एक्लिप्स जूनो को अपग्रेड करने का मुख्य कारण क्या है?
- 13. WriteFile को ERROR_ACCESS_DENIED वापस करने का क्या कारण बनता है?
- 14. क्या अपवाद के कारण को स्वयं निर्धारित करने का कोई कारण है?
- 15. कॉलबैक को फिर से ट्रिगर किए बिना उसी ऑब्जेक्ट को संशोधित करने के लिए after_save कॉलबैक का उपयोग करना (रिकर्सन)
- 16. अप्रबंधित कॉलबैक के कारण स्टैक ओवरफ्लो
- 17. स्विफ्ट में सिंगलटन "वैरिएबल" का उपयोग करने का कोई कारण नहीं है?
- 18. तर्क चर पुन: असाइन करने का क्या मतलब है?
- 19. पैरामीटर से संग्रह असाइन करने का पसंदीदा तरीका क्या है?
- 20. "असाइन किए गए स्थानीय चर का उपयोग" त्रुटि का कारण क्या है?
- 21. वैरिएबल अंदर नुस्खा असाइन नहीं कर सकता
- 22. क्या कोई प्रोग्राम मेमोरी को सीधे असाइन कर सकता है?
- 23. आईओएस: क्या उपयोगकर्ता के लोकेल को नकली करने का कोई तरीका है?
- 24. इस वैरिएबल को इस var घोषणा में क्यों असाइन करें?
- 25. जावास्क्रिप्ट कंसोल को निर्दिष्ट किए जाने से पहले वैरिएबल का असाइन मान मुद्रित करता है?
- 26. पावरहेल सरणी असाइनमेंट वैरिएबल असाइन करता है, मूल्य नहीं?
- 27. ओपनजेडीके का उपयोग करने का क्या कारण है?
- 28. क्या System.Uri का उपयोग करने का कोई कारण है?
- 29. क्या असुरक्षितफॉर्मियो का उपयोग करने का कोई अच्छा कारण है?
- 30. jquery होवर पास वैरिएबल कॉलबैक फ़ंक्शन
धन्यवाद, आपने मुझे सही दिशा में स्वीकृत और +1 की ओर इशारा किया। वैसे भी मुझे एक और जटिल जवाब लिखने लगा और इसे अपने स्वयं के प्रश्न में जोड़ा। – JJR