मैं इस जावास्क्रिप्ट है:मैं एक कन्स्ट्रक्टर कैसे लपेटूं?
var Type = function(name) {
this.name = name;
};
var t = new Type();
अब मैं इस जोड़ना चाहते हैं:
var wrap = function(cls) {
// ... wrap constructor of Type ...
this.extraField = 1;
};
तो मैं कर सकते हैं:
wrap(Type);
var t = new Type();
assertEquals(1, t.extraField);
[संपादित करें] मैं चाहूँगा एक उदाहरण संपत्ति, एक वर्ग (स्थैतिक/साझा) संपत्ति नहीं।
रैपर फ़ंक्शन में निष्पादित कोड को काम करना चाहिए जैसे कि मैंने इसे वास्तविक निर्माता में चिपकाया था।
Type
का प्रकार बदलना नहीं चाहिए।
जो मैं समझता हूं, आप निर्माता को अतिरिक्त संपत्ति जोड़ना चाहते हैं? ताकि आगे के नए उदाहरणों में उस संपत्ति हो? – Joseph
आपको 'wrap' के प्रोटोटाइप को 'रैप()' फ़ंक्शन के अंदर बदलने की आवश्यकता हो सकती है। उदाहरण के लिए: 'var wrap = function (cls) {cls.prototype.extraField = 1; }; '? या अतिरिक्त 'अतिरिक्त' सदस्य के साथ 'टाइप' से विरासत में प्राप्त' टाइप 2 'बनाने के लिए सबसे अच्छा हो सकता है? –
क्या आप अपनी समस्या का अधिक विस्तार से वर्णन कर सकते हैं? – seteh