javascript - Are data properties dangerous? -


निम्न सरल उदाहरण का प्रयोग करें:

  var MyObject = {name: '', object_id : '', भयानक कार्य: फ़ंक्शन () {console.log ('भयानक'); }};   

अब, यह ठीक है जब तक मैं प्रोटोटाइप विरासत के बारे में नहीं सोचता। कहो अब मैं इस वस्तु से उत्तराधिकार चाहता हूं:

  var child_object = ऑब्जेक्ट। बनाना (माइऑब्जेक्ट);   

यह तुरन्त समस्याओं का कारण बनता है क्योंकि बाल ऑब्जेक्ट ने नाम और object_id गुण निर्दिष्ट नहीं किए हैं जो इसलिए पैरेंट ऑब्जेक्ट से लिया जाएगा (प्रोटोटाइप)।

क्या यह समझना सही है?

यदि हां, तो क्या मैं विरासत के बारे में सोच रहा हूँ जावास्क्रिप्ट ग़लत ढंग से?

वस्तुओं को कन्टेनरों के रूप में कार्य के बजाय माना जाना चाहिए?

< P> और इन मूल ऑब्जेक्ट को लागू करने के लिए कोई मूल तरीका नहीं है, ठीक है?

यदि आप चाहते हैं कि सभी उदाहरण उन विशेषताओं के लिए, डिफ़ॉल्ट रूप से, तब आपको वारिस नहीं लेना चाहिए, लेकिन उनका निर्माण करना चाहिए। ऐसा करने का सामान्य तरीका

  फ़ंक्शन जनक (नाम, आईडी) होगा {this.name = name; this.id = आईडी; } फ़ंक्शन बच्चे (नाम, आईडी) {Parent.call (यह, नाम, आईडी); }   

अब, जब आप बच्चा का एक उदाहरण बनाते हैं, तो उनका अपना कोड नाम और आईडी < / code>। साथ ही, आप उन्हें स्वयं बनाते समय उन्हें मूल्य प्रदान कर सकते हैं।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -