तो मैं जावास्क्रिप्ट का उपयोग कर प्रोटोटाइप सीख रहा हूँ, और कुछ कोड की कोशिश की। क्या इस परिणाम का कोई कारण है?अपरिभाषित परिणाम का उपयोग कर प्रोटोटाइप [जावास्क्रिप्ट]
मैंने कई परीक्षण किए हैं। मैंने निष्कर्ष निकाला है कि प्रोटोटाइप ऑब्जेक्ट को पुन: असाइन करने से कर्मचारी वर्ग के किसी भी पहले बनाए गए उदाहरण नए नियत प्रोटोटाइप के अंदर पाए गए किसी भी गुण तक पहुंचने में असमर्थ होते हैं। क्या यह सही है?
जब आप कोई उदाहरण बनाते हैं तो उस समय निर्माता के प्रोटोटाइप का संदर्भ लेता है। यदि आप बाद में प्रोटोटाइप को प्रतिस्थापित करते हैं, तो मौजूदा उदाहरण उस पर प्रतिबिंबित नहीं होंगे। एक बार जब आप एक उदाहरण बना लेते हैं, तो आमतौर पर यह अपेक्षा की जाती है कि आप इसे बदलने के बजाय प्रोटोटाइप का विस्तार करेंगे। –
प्रोटोटाइप ऑब्जेक्ट का उदाहरण का संदर्भ निर्माण समय पर सेट किया गया है (यानी 'नया' वाला लाइन)। पूरे 'Foo.prototype' प्रॉपर्टी ऑब्जेक्ट को बदलना इस संदर्भ को बाद में इस संदर्भ में नहीं बदलेगा। हालांकि, 'Foo.prototype' ऑब्जेक्ट _will_ में परिवर्तन देखा जाना चाहिए (क्योंकि यह वही ऑब्जेक्ट है), इसलिए उदा। यदि आपने इसके बजाय 'कर्मचारी.प्रोटोटाइप.इस वर्किंग = सत्य' किया है, तो आप देखेंगे कि आप –
की अपेक्षा करते हैं कि आगे पढ़ने के लिए, यह प्रोटोटाइप विरासत का वास्तव में अच्छा प्रदर्शन है: http://markdalgleish.com/2012/10/a -टच-ऑफ-क्लास-विरासत-इन-जावास्क्रिप्ट/ – br3nt