Objekterstellung:
Wenn ein Funktionsobjekt erstellt wird, wird das vom Funktionskonstruktor generierte Funktionsobjekt wie folgt ausgeführt:
Kopieren Sie den Code -Code wie folgt:
this.prototype = {constructor: this};
Angenommen, die Funktion f
Wenn f mit einer neuen Methode konstruiert wird, wird der Konstruktor des Objekts auf diesen F.Prototype.Constructor eingestellt
Wenn die Funktion vor dem Erstellen eines Objekts den Prototyp der Funktion ändert
wie:
Kopieren Sie den Code -Code wie folgt:
Funktion f () {};
F.Prototyp = {Konstruktor: '1111'};
var o = new f ();
Prinzip der Erbschaft:
Die Vererbung in JavaScript ist ein Mechanismus, der die ursprüngliche Kette verwendet. Und jedes Mal, wenn das neue Instanzobjekt, wird das private Attribut des Objekts __Proto__ automatisch mit dem Prototyp des Konstruktors verbunden.
InstanceOF besteht darin, die private Prototyp -Eigenschaftskette des Instanzobjekts zu finden, um festzustellen
Spezifische Beispiele:
Kopieren Sie den Code -Code wie folgt:
// Instanz der Implementierung
Funktion myInstanceof (OBJ, Typ)
{{{{
var proto = obj .__ loto__;
Während (Proto)
{{{{
if (propo === Typ.Prototyp) break;
Proto = proto .__ loto__;
}
Proto zurückgeben!
}
Funktionsansicht () {}
Funktion TreeView () {}
TreeView.Prototype = new View ();
TreeView.Prototype.Constructor = TreeView;
var view = new treeview ();
ALERT (View Instanceof View);
ALERT (Ansichtsinstanz von Treeview);
ALERT (MyInstanceof (Ansicht, Ansicht));
ALERT (MyInstanceof (View, Treeview));