यह एक प्रश्न का पालन है जिसे मैंने अभी पोस्ट किया है। मैं सोच रहा हूं कि विधियों को परिभाषित करने के लिए MyClass.prototype का उपयोग करते समय आप जावास्क्रिप्ट क्लॉज में सदस्य चर को कैसे प्रबंधित करते हैं।ऑब्जेक्ट उन्मुख जावास्क्रिप्ट में सदस्य चर के लिए सबसे अच्छा तरीका?
आप निर्माता समारोह में सभी विधियों को परिभाषित हैं:
function MyClass(){
this.myMethod = function(){}
}
तुम बहुत अच्छी तरह से सदस्य चर घोषित करने और अपने तरीके अंदर से उन तक पहुंच सकते हैं:
function MyClass(){
var myVar = "hello";
this.myMethod = function(){
alert(myVar);
}
}
वस्तु का उपयोग करते समय। प्रोटोटाइप तकनीक, आप इस निस्संदेह को खो देते हैं, और इसे इस तरह करना है;
function MyClass(){}
MyClass.prototype.myVar = "hello";
MyClass.prototype.myMethod = function(){alert(this.hello)};
हर बार जब मैं सदस्य चर का उपयोग करता हूं तो मैं "यह" लिखने के बारे में पागल नहीं हूं। मैं स्मृति और लचीलापन कारणों के लिए ऑब्जेक्ट.प्रोटोटाइप दृष्टिकोण का उपयोग करना चाहता हूं, लेकिन ऐसा लगता है कि यह बहुत ही सुसंगत वाक्यविन्यास-वार है। क्या आप आम तौर पर काम करते हैं?
धन्यवाद,
-Morgan
निजी विविधता के संबंध में ई सदस्य, आप Google क्लोजर कंपाइलर का उपयोग करने में रुचि ले सकते हैं। प्रत्येक वर्ग को एक अलग फ़ाइल में परिभाषित किया जा सकता है और निजी चर को संकलक द्वारा लागू किया जाएगा। https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-private –