2010-09-24 4 views
7

निम्नलिखित उदाहरण में, क्या ऑब्जेक्ट को बनाने का कोई तरीका है कि "बी" में एक संपत्ति ए 1 है, जिसे "2" से शुरू किया गया है?जावास्क्रिप्ट: प्रोटोटाइप श्रृंखला के नीचे कन्स्ट्रक्टर तर्क पारित करना। क्या उधर रास्ता है?

function A(a1) { 
    this.a1 = a1; 
} 

function B(b1, a1) { 
    this.b1 = b1; 
} 

B.prototype = new A; 

var b = new B('1', '2'); 

मैं मूल रूप से नकल करने के लिए क्या के रूप में एक पारंपरिक वस्तु केंद्रित भाषा में (जैसे सी # के रूप में) "आधार निर्माता बुला" में जाना जाएगा कोशिश कर रहा हूँ।

उत्तर

6

इस तरह?

function B(b1, a1) { 
    A.call(this, a1); 
    this.b1 = b1; 
} 
+1

यह काम करता है। यह ए के कन्स्ट्रक्टर को दो बार कॉल करेगा (एक बार लाइन के कारण: बीप्रोटोटाइप = नया ए;)। अब मुझे आश्चर्य है कि मुझे "बीप्रोटोटाइप = नया ए" चाहिए लाइन बिल्कुल, क्योंकि मैं कभी भी उदाहरण का उपयोग नहीं करता हूं। धन्यवाद। – zod

संबंधित मुद्दे

 संबंधित मुद्दे