Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JavaScript

24 जावास्क्रिप्ट बिगिनर के लिए सर्वोत्तम अभ्यास

by
Difficulty:BeginnerLength:LongLanguages:

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

"30 HTML और CSS बेस्ट प्रैक्टिस" के फॉलो-अप के रूप में, इस सप्ताह, हम जावास्क्रिप्ट की समीक्षा करेंगे! एक बार लिस्ट की समीक्षा करने के बाद, हमे यह बताना सुनिश्चित करें जो छोटी टिप्स देखी आपने हैं!


1. === के बजाय == का उपयोग करें

जावास्क्रिप्ट दो विभिन्न प्रकार के इक्वलिटी ऑपरेटरों का उपयोग करता है: === | !== और == | != तुलना करते समय यह हमेशा बाद वाले सेट का उपयोग करना सबसे अच्छा अभ्यास माना जाता है।

"यदि दो ऑपरेंड एक ही प्रकार और वैल्यू के हैं, तो === true पैदा करता है और !== false पैदा करता है।" - जावास्क्रिप्ट: द गुड पार्ट्स

हालांकि, == और != के साथ काम करते समय, विभिन्न प्रकारों के साथ काम करते समय आप समस्याओं पड़ जाएंगे। इन मामलों में, वे वैल्यूज को जबरन करने की कोशिश करेंगे, असफल रूप से।


2. Eval = Bad

उन अपरिचित लोगों के लिए, "eval" फ़ंक्शन हमें जावास्क्रिप्ट के कंपाइलर तक पहुंच प्रदान करता है। मूलतः, हम इसे "eval" के पैरामीटर के रूप में पास करके स्ट्रिंग के परिणाम एक्सेक्यूट कर सकते हैं।

आपके स्क्रिप्ट के प्रदर्शन को काफी हद तक कम कर देगा, लेकिन यह एक बड़ी सुरक्षा जोखिम भी पैदा करता है क्योंकि यह टेक्स्ट में पारित करने के लिए बहुत अधिक शक्ति देता है। इससे बचो!


3. शार्ट हैंड का प्रयोग न करें

तकनीकी रूप से, आप सबसे अधिक कर्ली ब्रेसिज़ और सेमि-कोलन से निकल सकते हैं। अधिकांश ब्राउज़र सही तरीके से निम्नलिखित की व्याख्या करेंगे:

हालांकि, इस पर विचार करें:

कोई यह सोच सकता है कि उपर्युक्त कोड निम्न के समतुल्य होगा:

दुर्भाग्य से, वह गलत होगा। वास्तव में, इसका मतलब है:

जैसा कि आप ध्यान देंगे, इंडेंटेशन कर्ली ब्रेस की कार्यक्षमता की नकल करता है। कहने की जरूरत नहीं है, यह एक भयानक अभ्यास है जिससे हर कीमत पर बचा जाना चाहिए। केवल उस समय कर्ली ब्रेसिज़ को एक-लाइनर्स के साथ छोड़ा जाना चाहिए, और यह भी एक अत्यधिक बहस वाला विषय है।

हमेशा भविष्य पर विचार करें

क्या होगा अगर, बाद की तारीख में, आपको इस if स्टेटमेंट के लिए और कमांड्स को जोड़ना हो। ऐसा करने के लिए, आपको कोड के इस ब्लॉक को फिर से लिखना होगा। नीचे की लाइन - छोड़ने पर सावधानी बरतें।


4. JS लिंट का उपयोग करें

JSLint डगलस क्रॉकफोर्ड द्वारा लिखित एक डीबगर है। अपनी स्क्रिप्ट में बस पेस्ट करें, और यह आपके कोड में किसी भी ध्यान देने योग्य समस्याओं और एरर के लिए तेज़ी से स्कैन करेगा।

"JSLint एक जावास्क्रिप्ट सोर्स लेता है और इसे स्कैन करता है। अगर उसे समस्या मिलती है, तो यह समस्या का वर्णन करने वाला संदेश और सोर्स में एक अनुमानित स्थान देता है। समस्या यह एक सिंटेक्स एरर नहीं है, हालांकि यह अक्सर है। JSLint कुछ स्टाइल कन्वेंशन देखता है और साथ ही स्ट्रक्चरल समस्याएं। यह साबित नहीं करता कि आपका प्रोग्राम सही है। यह केवल समस्या की समस्याओं में मदद करने के लिए आंखों का एक और सेट प्रदान करता है।"
- JSLint डॉक्यूमेंटेशन

स्क्रिप्ट को साइन ऑफ करने से पहले, इसे सुनिश्चित करने के लिए JSLint के माध्यम से इसे चलाने के लिए ही सुनिश्चित करें कि आपने कोई बेमतलब ग़लतियां नहीं बनाई हैं।



5. अपने पेज के नीचे स्क्रिप्ट्स रखें

इस टिप को पहले से ही इस आर्टिकल में पिछले लेख में सुझाया गया है। यद्यपि यह अत्यधिक उपयुक्त है, मैं सूचना में पेस्ट करूँगा।

Place JS at bottomPlace JS at bottomPlace JS at bottom

याद रखें - प्राथमिक लक्ष्य यूजर के लिए जितनी जल्दी हो सके पेज लोड करना है। जब कोई स्क्रिप्ट लोड हो रहा है, ब्राउज़र तब तक जारी नहीं रख सकता जब तक कि पूरी फाइल लोड नहीं हुई हो। इस प्रकार, यूजर को किसी भी प्रगति पर ध्यान देने से पहले इंतजार करना होगा।

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

बेहतर


6. वेरिएबल को for स्टेटमेंट के बाहर घोषित करें

जब "for" स्टेटमेंट एक्सेक्यूट करते हैं, तो इंजन को किसी भी कठिन काम से ज़्यादा काम नहीं करनी चाहिए। उदाहरण के लिए:

खराब

ध्यान दें कि हम प्रत्येक पुनरावृत्ति के लिए ऐरे की लंबाई को कैसे निर्धारित करें, और हम हर बार "container" एलिमेंट को खोजने के लिए कैसे डोम को पार करते हैं - अत्यधिक अक्षम!

बेहतर

उस बोनस अंक को उस व्यक्ति को बताता है जो हमें एक कमेंट छोड़ते हैं कि हम इसके बाद के वर्जन कोड ब्लॉक को कैसे बेहतर बना सकते हैं।


7. एक स्ट्रिंग बनाने का सबसे तेज़ तरीका

जब भी आपको किसी ऐरे या ऑब्जेक्ट के माध्यम से लूप की आवश्यकता होती है तो हमेशा अपने "for" स्टेटमेंट के लिए नहीं पहुंचें। रचनात्मक रहें और हाथ में नौकरी के लिए सबसे तेज़ समाधान ढूंढें।

मैं आपको बेंचमार्क के साथ बोर नहीं करूँगा; आपको बस मुझ पर विश्वास करना होगा (या खुद टेस्ट करें) - यह अब तक का सबसे तेज तरीका है!

नेटिव मेथड का प्रयोग करना, इसके बावजूद देशी तरीकों (जैसे join()) में शामिल होने का उपयोग करना आमतौर पर किसी भी गैर देशी ऑप्शन की तुलना में बहुत अधिक है।
- जेम्स पाडोले, james.padolsey.com


8. ग्लोबल्स को कम करें

"अपने ग्लोबल फुटप्रिंट को एक ही नाम से कम करके, आप अन्य एप्लीकेशन, विगेट्स या लाइब्रेरी के साथ खराब इंटरैक्शन की संभावना को कम कर सकते हैं।"
- डगलस क्रॉकफोर्ड

बेहतर

ध्यान दें कि हम "अपने फुटप्रिंट को कम कर चुके हैं," सिर्फ हास्यास्पद ढंग से नामित "DudeNameSpace" ऑब्जेक्ट।


9. अपना कोड को कमेंट करें

यह पहली बार में अनावश्यक लग सकता है, लेकिन मुझ पर भरोसा, आप जितना संभव हो सके अपने कोड को कमेंट करना चाहते हैं। क्या होता है जब आप प्रोजेक्ट के महीने बाद में लौटें, केवल यह जानने के लिए कि आप आसानी से याद नहीं कर सकते कि आपकी लाइन की सोच क्या थी। या, क्या आपके सहयोगियों में से एक को आपके कोड को संशोधित करने की आवश्यकता है? हमेशा, हमेशा अपने कोड के महत्वपूर्ण अनुभागों पर कमेंट करें।


10. प्रगतिशील वृद्धि को गले लगाओ

जब हमेशा जावास्क्रिप्ट डिसएबल हो जाता है तब के लिए क्षतिपूर्ति करें। यह सोचने के लिए आकर्षक हो सकता है, "मेरे अधिकांश व्यूअर के जावास्क्रिप्ट इनेबल होते हैं, इसलिए मैं इसके बारे में चिंता नहीं करता।" हालांकि, यह एक बड़ी गलती होगी।

क्या आपने जावा स्क्रिप्ट को बंद करके अपना सुंदर स्लाइडर देखने के लिए एक क्षण लिया है? (ऐसा करने के लिए एक आसान तरीका वेब डेवलपर टूलबार डाउनलोड करें।) यह आपकी साइट को पूरी तरह से तोड़ सकता है। थंब के नियम के रूप में, अपनी साइट को यह मान लें कि जावास्क्रिप्ट डिसएबल हो जाएगा। फिर, एक बार आपने ऐसा किया है, अपने लेआउट को उत्तरोत्तर बढ़ाना शुरू कर दो!


11. "SetInterval" या "SetTimeOut" में स्ट्रिंग पास न करें

निम्नलिखित कोड पर विचार करें:

केवल यह कोड अप्रभावी नहीं है, लेकिन यह भी उसी तरह कार्य करता है जैसा कि "eval" फ़ंक्शन होता है। कभी भी SetInterval और SetTimeOut के लिए कोई स्ट्रिंग नहीं पास करें। इसके बजाय, फ़ंक्शन नाम पास करें।


12. "With" स्टेटमेंट का उपयोग न करें

पहली नज़र में, "With" स्टेटमेंट एक स्मार्ट विचार की तरह लग रहा हैं। मूल अवधारणा यह है कि उन्हें गहरे नेस्टेड ऑब्जेक्ट तक पहुंचने के लिए एक शॉर्टकोड प्रदान करने के लिए उपयोग किया जा सकता है। उदाहरण के लिए...

-- के बजाय –

दुर्भाग्य से, कुछ परीक्षणों के बाद, यह पाया गया कि वे "नए सदस्यों की स्थापना करते समय बहुत खराब व्यवहार करते हैं।" इसके बजाय, आपको var का उपयोग करना चाहिए।


13. New Object() के बजाय {} का उपयोग करें

JavaScript में ऑब्जेक्ट बनाने के कई तरीके हैं। शायद अधिक पारंपरिक मेथड "new" कन्स्ट्रक्टर का उपयोग करना है, जैसे:

हालांकि, इस मेथड को वास्तव में ऐसा होने के बावजूद "खराब अभ्यास" टिकट प्राप्त होता है। इसके बजाय, मैं अनुशंसा करता हूं कि आप अधिक शक्तिशाली ऑब्जेक्ट को लिट्रल मेथड का उपयोग करें।

बेहतर

ध्यान दें कि यदि आप बस एक खाली ऑब्जेक्ट बनाना चाहते हैं, तो {} काम करेगा।

"ऑब्जेक्ट्स लिट्रल हमें कोड लिखने में सक्षम बनाते हैं जो बहुत सारे फीचर का समर्थन करता है, फिर भी अभी भी हमारा कोड कार्यान्वयनकर्ताओं के लिए अपेक्षाकृत सरल बनाता है constructor को सीधे इनवॉक करने या फंक्शन को पारित करने के आर्गुमेंट का सही क्रम बनाए रखने की ज़रूरत नहीं है।" - dyn-web.com


14. New Array() के बजाय [] का उपयोग करें

एक नया ऐरे बनाने के लिए भी यही लागू होता है।

ठीक है

बेहतर

"जावास्क्रिप्ट प्रोग्राम्स में एक आम एरर है जब किसी ऐरे की आवश्यकता होती है या कोई ऑरेक्ट की आवश्यकता होती है, तो कोई ऑब्जेक्ट का उपयोग करना है। नियम सरल है: जब प्रॉपर्टी के नाम छोटे क्रमिक इन्टिजर होते हैं, तो आपको ऐरे का उपयोग करना चाहिए। नहीं तो ऑब्जेक्ट का।" - डगलस क्रॉकफोर्ड


15. वेरिएबल की लंबी सूची? "Var" कीवर्ड को छोड़ दें और इसके बजाय Comma का उपयोग करें

बेहतर

...बल्कि आत्म-व्याख्यात्मक होना चाहिए। मुझे संदेह है कि यहां कोई वास्तविक गति सुधार है, लेकिन यह आपके कोड को थोड़ा साफ करता है।


17. हमेशा, हमेशा सेमीकोलन का प्रयोग करें

तकनीकी रूप से, अधिकांश ब्राउज़र आपको सेमि-कोलन को लगाकर ख़त्म करने की अनुमति देंगे।

यह कहने के बाद, यह एक बहुत बुरा अभ्यास है जो संभावित रूप से बहुत अधिक बड़ा और मुश्किल हो सकता है, मुद्दों को खोजने के लिए।

बेहतर


18. "For in" स्टेटमेंट

किसी ऑब्जेक्ट में आइटम्स के बीच लूपिंग करते समय, आपको लगता है कि आप मेथड फंक्शन्स को भी पुनः प्राप्त कर सकते हैं। इस के आसपास काम करने के लिए, हमेशा अपने कोड को एक if स्टेटमेंट में लपेटें जो जानकारी को फ़िल्टर करता है।

जैसा कि जावास्क्रिप्ट: द गुड पार्ट्स, डगलस क्रॉकफोर्ड द्वारा संदर्भित है।


19. अपने कोड को ऑप्टिमाइज़ करने के लिए फायरबग के "Timer" सुविधा का उपयोग करें

यह निर्धारित करने के लिए एक क्विक और आसान तरीका चाहिए कि एक ऑपरेशन कब तक ले जाता है? परिणाम लॉग करने के लिए फायरबग का "timer" फीचर का उपयोग करें।


20. पढ़ें, पढ़ें, पढ़ें...

जबकि मैं वेब डेवलपमेंट ब्लॉग्स का एक बहुत बड़ा प्रशंसक हूं (जैसे यह है!), वास्तव में एक किताब के लिए कोई ऑप्शन नहीं है, जब कुछ दोपहर के भोजन को लेने, या बिस्तर पर जाने से पहले। अपने बेडसाइड टेबल पर हमेशा एक वेब डेवलपमेंट बुक रखें। यहां मेरे कुछ जावास्क्रिप्ट पसंदीदा हैंI

उन्हें पढ़ें... कई बारI मैं अभी भी कर रहा हूं!


21. सेल्फ एक्सेक्यूशन फंक्शन

किसी फ़ंक्शन को कॉल करने के बजाय, जब कोई पेज लोड होता है, या किसी मूल फ़ंक्शन को कॉल किया जाता है, तब फ़ंक्शन ऑटोमेटिकली चलाना बहुत सरल होता है। बस अपने फ़ंक्शन को पैरेंथेसिस में लपेटें, और उसके बाद एक अतिरिक्त सेट जोड़ दें, जो अनिवार्य रूप से फ़ंक्शन कॉल करता है।


22. रॉ जावास्क्रिप्ट हमेशा एक लाइब्रेरी का उपयोग करने से जल्दी हो सकता है

जावास्क्रिप्ट लाइब्रेरी, जैसे कि jQuery और Mootools, आपका कोडिंग के समय बहुत अधिक समय बचा सकते हैं - विशेष रूप से AJAX ऑपरेशन्स के साथ। यह कहने के बाद, हमेशा ध्यान रखें कि एक लाइब्रेरी रॉ जावास्क्रिप्ट से तेजी से कभी नहीं हो सकता है (आपके कोड सही है यह मानते हुए)।

jQuery का "each" मेथड लूप के लिए बढ़िया है, लेकिन एक नेटिव "for" स्टेटमेंट का उपयोग करना हमेशा एक औंस जल्दी ही होगा।


23. Crockford का JSON.Parse

यद्यपि जावास्क्रिप्ट 2 के पास एक अंतर्निहित JSON पार्सर होना चाहिए, इस लेखन के रूप में, हमें अब भी अपने स्वयं के लागू करने की आवश्यकता है। JSON के निर्माता डगलस क्रॉकफोर्ड ने पहले से ही एक पार्सर बनाया है जिसे आप उपयोग कर सकते हैं। इसे यहां से डाउनलोड किया जा सकता है।

बस स्क्रिप्ट इम्पोर्ट करके, आप एक नया JSON ग्लोबल ऑब्जेक्ट तक पहुंच प्राप्त कर सकते हैं, जिसका उपयोग आपकी .json फ़ाइल को पार्स करने के लिए किया जा सकता है।


24. "Language" हटाएं

सालो पहले, स्क्रिप्ट टैग्स में "लैंग्वेज" एट्रिब्यूट को खोजना असामान्य नहीं था।

हालांकि, इस एट्रिब्यूट को लंबे समय से बहिष्कृत किया गया है; इसलिए इसे बाहर छोड़ दो।


बस आज के लिए इतना ही

इसलिए यह अब आपके पास है; जावास्क्रिप्टर्स की शुरुआत के लिए चौबीस टिप्स। मुझे अपनी क्विक टिप्स बताएं! पढ़ने के लिए धन्यवाद। इस सीरीज में तीसरे भाग को किस सब्जेक्ट पर कवर किया जाना चाहिए?

Twitter पर हमें फॉलो करें, या अधिक दैनिक वेब डेवलपमेंट tuts और आर्टिकल्स के लिए NETTUTS RSS Feed की सदस्यता लें।

और Envato Market पर उपलब्ध हजारों जावास्क्रिप्ट आइटम्स को देखना सुनिश्चित करें। आपके जावास्क्रिप्ट डेवलपमेंट के साथ आपकी मदद करने के लिए वहां कुछ निश्चित होगा।

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.