खोज…
टिप्पणियों
जावास्क्रिप्ट में, नामस्थानों की कोई धारणा नहीं है और वे विभिन्न भाषाओं में कोड को व्यवस्थित करने के लिए बहुत उपयोगी हैं। जावास्क्रिप्ट के लिए वे हमारे कार्यक्रमों द्वारा आवश्यक ग्लोबल्स की संख्या को कम करने में मदद करते हैं और साथ ही नामकरण टकराव या अत्यधिक नाम उपसर्ग से बचने में भी मदद करते हैं। बहुत सारे फ़ंक्शंस, ऑब्जेक्ट और अन्य चर के साथ वैश्विक गुंजाइश को प्रदूषित करने के बजाय, आप अपने एप्लिकेशन या लाइब्रेरी के लिए एक (और आदर्श रूप से केवल एक) वैश्विक ऑब्जेक्ट बना सकते हैं।
प्रत्यक्ष कार्य द्वारा नाम स्थान
//Before: antipattern 3 global variables
var setActivePage = function () {};
var getPage = function() {};
var redirectPage = function() {};
//After: just 1 global variable, no function collision and more meaningful function names
var NavigationNs = NavigationNs || {};
NavigationNs.active = function() {}
NavigationNs.pagination = function() {}
NavigationNs.redirection = function() {}
नेस्टेड नेमस्पेस
जब कई मॉड्यूल शामिल होते हैं, तो एकल वैश्विक नाम स्थान बनाकर वैश्विक नामों को आगे बढ़ाने से बचें। वहां से, किसी भी उप-मॉड्यूल को वैश्विक नामस्थान में जोड़ा जा सकता है। (आगे के घोंसले के शिकार प्रदर्शन को धीमा कर देंगे और अनावश्यक जटिलता जोड़ देंगे।) यदि नाम में कोई समस्या है तो लंबे नामों का उपयोग किया जा सकता है:
var NavigationNs = NavigationNs || {};
NavigationNs.active = {};
NavigationNs.pagination = {};
NavigationNs.redirection = {};
// The second level start here.
Navigational.pagination.jquery = function();
Navigational.pagination.angular = function();
Navigational.pagination.ember = function();