मैंने देखा है कि बहुत सारी पुस्तकालय अपनी लाइब्रेरी को परिभाषित करने के लिए नीचे इस शैली का उपयोग करते हैं। मैं यह भी ध्यान देता हूं कि पहले स्वयं invoking समारोह में Requ.js या AMD सिस्टम के साथ कुछ करने के लिए कुछ है, वे हमेशा एक तर्क के रूप में कारखाना है, मैं Requ.js में और अधिक देखेंगे, हमेशा ब्राउज़रify में किया गया है।एक जावास्क्रिप्ट लाइब्रेरी का निर्माण, इस तरह आईआईएफई का उपयोग क्यों करें?
मुख्य कोड कोष्ठक के अंदर पहले स्वयं invoking समारोह के अंत में क्यों पारित किया गया है, यह एक बंद है, या सिर्फ एक अज्ञात समारोह माना जाता है, मैं दोनों में गहरी खुदाई करेंगे। इसका क्या फायदा है? यह बंद होने के अंदर दिखता है लेखक string
, this
, और callback
पास करता है।
क्या यह मेरी लाइब्रेरी को Please
से नीचे इस उदाहरण में मुख्य ऑब्जेक्ट को वैश्वीकृत करने के लिए एक सुरक्षित सुरक्षित तरीका देगा?
(function(globalName, root, factory) {
if (typeof define === 'function' && define.amd) {
define([], factory);
}
else if (typeof exports === 'object') {
module.exports = factory();
}
else{
root[globalName] = factory();
}
}('Please', this, function(){
मैं जावास्क्रिप्ट में गहरी वास्तव में खुदाई और अपने खुद के छोटे MVC वास्तुकला बनाने के लिए कोशिश कर रहा हूँ, मैं सुनने के लिए मैं मूर्ख या उसके पहले किया गया हूँ नहीं करना चाहते, मैं अपने आप को चुनौती देने के लिए और सीखना चाहते हैं।
यदि जावास्क्रिप्ट लाइब्रेरी बनाने के लिए कोई भी महान संसाधन हैं या यहां तक कि एक बेहतर एमवीसी लाइब्रेरी मुझे जानना अच्छा लगेगा।