यह पैटर्न एक "Immediately Invoked Function Expresssion" है। संक्षेप में, यह केवल एक समारोह है जिसे तुरंत निष्पादित किया जाता है। अंत पर this
एक पैरामीटर भीतरी समारोह है कि के रूप में exports
(function(exports){
//that was "this" outside, is now "exports" in here
}(this));
अपने उदाहरण में
पहुँचा जा जाएगा करने के लिए भेजा जा रहा है, हम मान सकते हैं कि जो कुछ भी this
था, यह किसी वस्तु है कि एक Move
विधि जोड़ दिया गया है है इसके लिए
कुछ इस पैटर्न को "Module Pattern" कहते हैं, यह एक अर्थ में है कि यह "निहित वातावरण" बनाता है ताकि उसके अंदर की सामग्री एक नए फ़ंक्शन स्कोप के कारण दिखाई न दे। दूसरे शब्दों में, जो कुछ भी अंदर है वह बाहर देखता है, लेकिन बाहरी केवल यह देख सकता है कि अंदरूनी
इस की जाँच का मतलब कक्षा या वस्तु लेकिन संदर्भ। किसी भी जावास्क्रिप्ट फ़ंक्शन को वैसे भी कहा जा सकता है, और आप इस डायनामिक रूप से मूल्य बदल सकते हैं। उस उदाहरण में, यह सिर्फ एक फ़ंक्शन बना रहा है, इसे तुरंत कॉल कर रहा है और निर्यात तर्क को इसके मान को असाइन कर रहा है। इसलिए संक्षेप में यह फ़ंक्शन परिभाषा है और उसके बाद पैरामीटर के रूप में कॉल करने का कार्य करता है। – mpm
@ कैमस- यह एक बहुत भ्रमित स्पष्टीकरण है। एक फ़ंक्शन का * यह * मान वास्तव में गतिशील नहीं है, यह फ़ंक्शन कहलाता है और बाद में बदला नहीं जा सकता है। – RobG
यदि आपने मुझे अच्छी तरह पढ़ा है, तो मैंने गतिशील कार्य के संदर्भ के बारे में बात की है।यह वास्तव में गतिशील है क्योंकि यह एक मान पर सेट नहीं है, लेकिन इस पर निर्भर करता है कि फ़ंक्शन को कैसे कहा जाता है। स्पष्टीकरण बहुत स्पष्ट है। यह एक संदर्भ का संदर्भ नहीं देता है, इसलिए यह गतिशील है। – mpm