2010-02-03 9 views
13

यह एक मेटा-प्रश्न है। एसएसओ पर मैंने देखा है जावास्क्रिप्ट के कई स्निपेट्स को this प्रश्न में दिखाए गए स्निपेट की दूसरी पंक्ति पर उदाहरण के लिए, डॉलर साइन उपसर्ग (उदाहरण के लिए, $id) के साथ नामित किया गया है। मैं jQuery या अन्य पुस्तकालयों का जिक्र नहीं कर रहा हूं। मुझे अच्छी तरह से पता है कि यह मान्य है, लेकिन जब आवश्यक नहीं है तो ऐसा करने के लिए अजीब लगता है। लोग इस तरह अपने चर का नाम क्यों देते हैं? क्या यह सर्वर-साइड भाषा के साथ बस परिचित है जैसे PHP उनके जावास्क्रिप्ट कोड में ले जा रहा है?

मैंने सोचा कि शायद यह एक चर वस्तु को एक jQuery ऑब्जेक्ट के रूप में पहचानना था, उदाहरण के लिए जब आप बाद में डुप्लिकेट चयनों को खत्म करने के लिए चयन के परिणाम को एक चर में सहेजते हैं, लेकिन मैंने कोई लगातार सम्मेलन नहीं देखा है ।

उत्तर

19

संवैधानिक रूप से, डॉलर के हस्ताक्षर का अर्थ कुछ भी नहीं है - दुभाषिया के लिए, यह सिर्फ एक और चरित्र है, जैसे _ या q। लेकिन jQuery और अन्य समान ढांचे का उपयोग करने वाले बहुत से लोग वैरिएबल को उपसर्ग करेंगे जिसमें एक jQuery ऑब्जेक्ट एक $ के साथ होगा ताकि उन्हें आसानी से पहचाना जा सके, और इस प्रकार पूर्णांक या स्ट्रिंग जैसी चीज़ों के साथ मिश्रित न हो। आप jq_ के साथ इस तरह के चर को उपसर्ग करके एक ही सम्मेलन को आसानी से अपना सकते हैं और इसका वही प्रभाव होगा।

असल में, यह Hungarian notation का कच्चा प्रकार है।

+0

'असल में, यह हंगरी नोटेशन का एक कच्चा प्रकार है।' सौभाग्य से, मुझे 'var strHippo = "हिप्पो" जैसी लिखी गई जावास्क्रिप्ट दिखाई नहीं दे रही है। –

+3

इसकी हंगेरी नोटेशन बिल्कुल नहीं ... –

4

मैं कभी-कभी एक परिवर्तनीय नाम को $ के साथ उपसर्ग करूँगा यह इंगित करने के लिए कि यह एक jQuery-wrapped तत्व है (अक्सर जब मैं $(this) का उपयोग किसी फ़ंक्शन में कर रहा हूं, तो मैं इसे $this पर असाइन कर दूंगा)।

जहां से सम्मेलन की कमी आ सकती है, वहां से लोगों का प्रतिलिपि कोड चिपकने वाला है जो अलग-अलग सम्मेलनों का उपयोग करता है, इस प्रकार असंगत कोड का उत्पादन करता है।

इसके अलावा, कभी-कभी (शायद ही कभी मुझे आशा है) जो लोग PHP में प्रोग्राम करते हैं, वे आदत से अपने परिवर्तनीय नामों की शुरुआत में $ डाल देंगे।

+0

$ के साथ सहेजी गई jQuery ऑब्जेक्ट्स को इंगित करना एक सभ्य अभ्यास की तरह लगता है। जब मैं इसे एक स्ट्रिंग या किसी अन्य असंबंधित प्रकार को स्टोर करने के लिए उपयोग किए जाने वाले चर पर देखता हूं तो यह परेशान हो रहा है। –

+0

निश्चित रूप से, यह वास्तव में कुछ स्थानों पर '$' s का उपयोग करने के लिए कोई समझ नहीं आता है, न कि दूसरों में। हालांकि यह हर जगह इसका उपयोग करने के लिए भी अजीब होगा। – pib

2

मुझे संदेह है कि उस उदाहरण में व्यक्ति सिर्फ jQuery पैटर्न की प्रतिलिपि बना रहा था, या PHP/पर्ल में उपयोग किया जाता है, वास्तव में यह समझने के बिना कि यह आवश्यक नहीं है और इसका कोई विशेष अर्थ नहीं है।

हालांकि, मैंने देखा है [अनुभवी] प्रोग्रामर इसे परिवर्तनीय नामों के लिए उपयोग करते हैं जो आरक्षित कीवर्ड हैं, जैसे $class या $this। या यहां तक ​​कि ग्लोबल्स के लिए भी। यह वास्तव में किसी भी चीज़ से अधिक व्यक्तिगत पसंद है।

+0

बेहतर जानने के बिना jQuery की प्रतिलिपि बनाने वाले लोग शायद ऐसा लगता है। –

संबंधित मुद्दे