Die Beispiele in diesem Artikel beschreiben die Verwendung der Konstruktorvererbung, die in der JS-Kapselung verwendet werden kann. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Schauen wir uns zunächst den folgenden Code an
Von der (YUI)-Bibliothek verwendete Methoden:
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Child;
Child.uber = Parent.prototype;
}
Es gibt auch eine Kopiervererbungsmethode, Attributkopie:
Diese Methode unterscheidet sich von der vorherigen. Da die Erweiterung des untergeordneten Prototyps abgeschlossen ist, muss die Eigenschaft child.prototype.constructor nicht zurückgesetzt werden, da sie nicht mehr überschrieben wird.
Im Vergleich zur vorherigen Methode ist diese Methode offensichtlich etwas weniger effizient. Denn hier geht es darum, die Prototypen der Unterobjekte einzeln zu kopieren. Anstelle einer einfachen Prototypkettenabfrage.
Diese Methode ist nur auf Objekte anwendbar, die nur grundlegende Datentypen enthalten, einschließlich Funktionen und Arrays, sind nicht kopierbar und unterstützen nur die Referenzübergabe.
var Shape = function(){}
var TwoDShape = function(){}
Shape.prototype.name = 'shape';
Shape.prototype.toString = function(){
return this.name;
}
extension2(TwoDShape,Shape);
var t = new TwoDShape();
t.name
//-->"Form"
t.toString();
//-->"Form"
TwoDShape.prototype.name = 'TwoDShape';
t.name
//-->"2D-Form"
t.toString();
//-->"2D-Form"
TwoDShape.prototype.toString === Shape.prototype.toString
//-->true
TwoDShape.prototype.name === Shape.prototype.name
//-->false
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.