मैं कुछ प्रो जावास्क्रिप्ट डिजाइन पैटर्न से इस समारोह के अंत में यदि खंड को समझने में परेशानी हो रही का विस्तार:जावास्क्रिप्ट विरासत समारोह
function extend(subClass, superClass) {
var F = function() {};
F.prototype = superClass.prototype;
subClass.prototype = new F();
subClass.prototype.constructor = subClass;
subClass.superclass = superClass.prototype;
if(superClass.prototype.constructor == Object.prototype.constructor) {
superClass.prototype.constructor = superClass;
}
}
पुस्तक बताते हैं इन लाइनों सुनिश्चित करना है कि कि सुपर क्लास के निर्माता विशेषता सही ढंग से है सेट करें, भले ही सुपरक्लास ऑब्जेक्ट क्लास है। फिर भी, अगर मैं उन तीन लाइनों को छोड़ देते हैं और निम्न करें:
function SubClass() {};
extend(SubClass, Object);
alert(Object.prototype.constructor == Object);
चेतावनी कहते हैं 'सही', जिसका अर्थ है सुपर क्लास के निर्माता सही ढंग से यहां तक कि उन पिछले तीन लाइनों के बिना स्थापित किया जाएगा। तो क्या स्थितियों के तहत, क्या यह IF कथन कुछ उपयोगी करता है?
धन्यवाद।
मैं एक सवाल है: क्यों मध्यस्थ समारोह एफ, के बजाय सिर्फ subClass.prototype = नई सुपर क्लास() ;? – 755