के साथ मॉड्यूल पैटर्न का खुलासा करना मुझे इसे लागू करने का सबसे अच्छा तरीका पता लगाने में कुछ परेशानी हो रही है।एक निर्माता
मैं एक मॉड्यूल चाहता हूं जिसमें एक कन्स्ट्रक्टर है जो तर्क में पड़ता है जो मॉड्यूल के भीतर बाद में उपयोग के लिए संग्रहीत करता है।
var ModuleB = function(moduleA) {
this.moduleA = moduleA;
}
ModuleB.prototype = function() {
//private stuff/functions
function someMethod() {
moduleA.doSomething();
}
//public api
return {
someMethod : someMethod
};
}();
कुछ अन्य फ़ाइल
//ModuleA defined elsewhere
var moduleA = new ModuleA();
//...
var module = new ModuleB(moduleA);
module.someMethod();
अब someMethod
में ऊपर में, moduleA अपरिभाषित है, और this
, वैश्विक खिड़की वस्तु है। क्या कोई समझा सकता है कि मुझे मॉड्यूल ए तक कैसे पहुंचाया जा सकता है? मुझे समझ में नहीं आता कि कन्स्ट्रक्टर के बाद this.moduleA = moduleA;
क्या होता है। मैं वास्तव में एक जावास्क्रिप्ट डेवलपर इसलिए यदि मैं गलत पैटर्न यहाँ उपयोग कर रहा हूँ या कुछ और नहीं कर रहा हूँ, झंकार के लिए स्वतंत्र महसूस
मैंने इसे अधिक स्पष्ट बनाने के लिए उदाहरण अपडेट किया –
@ एकमात्र कारण यह है कि बेवकूफ काम करता है क्योंकि 'मॉड्यूलए' वैश्विक है। – jbabey