मैं जावास्क्रिप्ट के लिए नया हूं और नामकरण विवादों से बचने के लिए नेमस्पेस का उपयोग करने के तरीके को समझने की कोशिश कर रहा हूं। अब तक, दो सबसे लोकप्रिय तरीकों मैं नामस्थान बनाने के लिए मिल गया है ये हैं:इन नेमस्पेसिंग विधियों के बीच क्या अंतर है?
विधि 1:
var MYAPPLICATION = {
calculateVat: function (base) {
return base * 1.21;
},
product: function (price) {
this.price = price;
this.getPrice = function(){
return this.price;
};
},
doCalculations: function() {
var p = new MYAPPLICATION.product(100);
alert(this.calculateVat(p.getPrice()));
}
}
विधि 2:
var DED = (function() {
var private_var;
function private_method()
{
// do stuff here
}
return {
method_1 : function()
{
// do stuff here
},
method_2 : function()
{
// do stuff here
}
};
})();
अंतर यह है कि दूसरी विधि आपको निजी विधियों और चरों की अनुमति देती है, क्योंकि वस्तु के अंदर जो कुछ भी है, वह विश्व स्तर पर पहुंच योग्य होगा? इनमें से कौन सी विधियां सर्वोत्तम हैं (या क्या कोई बेहतर तरीका है)?
कॉलर को बेनकाब करने की इच्छा नहीं रखने वाले कार्यों और चरों की क्षमता वास्तव में लाभ है। और आईएमओ, यह एक बड़ा फायदा है। – techfoobar
* क्या यह अंतर है कि दूसरी विधि आपको निजी विधियों और चरों की अनुमति देती है, क्योंकि वस्तु के अंदर जो कुछ भी है, वह विश्व स्तर पर पहुंच योग्य होगा? *: हां। इस वजह से, मैं इसे "सर्वश्रेष्ठ" कहूंगा। – Matt
फर्स्टऑफ़ इसका नाम नहीं है जिसे आप पूछ रहे हैं, इसके बारे में स्कॉइंग/कोड संरचना के बारे में। दूसरा कोई अच्छा नहीं है :) मैं प्रत्येक समाधान के फायदे को समझने के लिए अबाउट [जावास्क्रिप्ट पैटर्न के बारे में] (http://addyosmani.com/resources/essentialjsdesignpatterns/book/) पढ़ने की सिफारिश करता हूं। – Ota