आप Node.js तरह गैर-ब्राउज़र वातावरण लक्षित कर रहे हैं यह संभव हो क्योंकि आप इस तरह के रूप में अपने मॉड्यूल के वैश्विक सदस्यों के लिए संदर्भ, पारित करने के लिए सक्षम हो जाएगा होगा Arrayअन्य मॉड्यूल के लिए,। उन अन्य मॉड्यूल तो वस्तु और / या जो केवल बुला मॉड्यूल द्वारा एक्सेस किया जा सकेगा अतिरिक्त कार्यक्षमता के साथ अपने प्रोटोटाइप में पारित विस्तार कर सकते हैं। अन्य मॉड्यूल आदेश इन एक्सटेंशन प्राप्त करने के लिए भी ऐसा ही करने के लिए होता है; इसलिए, संघर्ष को कम से कम के बाद से आयात स्पष्ट कर रहे हैं।
हालांकि, ब्राउज़र के वातावरण में इस मामले के बाद से नहीं केवल एक ही है windowवस्तु और उसके सदस्यों में कोई परिवर्तन हर जगह उपलब्ध हैं। जैसे ही अपने मॉड्यूल के किसी भी बढ़ाया Arrayउन एक्सटेंशन अन्य सभी मॉड्यूल के लिए उपलब्ध होगा - संघर्ष के लिए संभावना बढ़ रही है और के बारे में कारण के लिए कोड कठिन बना रही है।
इसके साथ ही कहा, वहाँ जे एस में पैटर्न, और इसलिए टाइपप्रति है, जो पूरा करना चाहिए कि आप क्या चाहते हैं। ऐसा ही एक पैटर्न 'Mixin' पैटर्न आप एक वस्तु पर अतिरिक्त कार्यक्षमता पर जोड़ने की अनुमति देता है जो उदाहरण के आधार पर। आप mixin मॉड्यूल जो तब कंस्ट्रक्टर्स में जब जरूरत एक वस्तु पर लागू किया जा सकता है, या यहाँ तक कि स्वचालित रूप से में फिर से प्रयोग करने योग्य कोड को अलग कर सकते हैं। एक सभ्य सिंहावलोकन और कार्यान्वयन उदाहरण के लिए इस पर एक नज़र डालें: http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins/