Objektorientiert ist eine Methode, um die reale Welt zu verstehen und abzuziehen, und ein Produkt der Entwicklung der Computerprogrammierungstechnologie zu einer bestimmten Phase.
Die Bedeutung des Objekts
Das Objekt kann ein Auto, eine Person, ein Tier, ein Text, eine Form oder irgendetwas sein, das existiert usw.
Objekte sind:
Attribute -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Methode ---------------------------------------------------------------------------------------------------------------
Ereignisse -------- Sie können darauf reagieren, was mit dem Objekt passiert.
Wir können Objektorientieren verstehen, indem wir das Objekt einer Person erstellen
Menschen:
Zwei Hände, zwei Fuß, ein Kopf, und Sie können rennen.
Hände, Füße und Kopf sind menschliche Eigenschaften, und das Laufen ist menschliche Methode.
Lassen Sie uns zunächst ein Objekt auf die einfachste Weise erstellen
var person = {head: "eins", Hand: "zwei", Fuß: "zwei", run: function () {console.log ("running"); }}Diese Methode ist überhaupt nicht praktisch, da es darum geht, ein separates Objekt zu erstellen, und dieses Objekt hat keine Verbindung zu gemeinsamen Datenstrukturen.
Dann erstellen wir ein Objekt mit dem Konstruktor
var person = function () {// Beachten Sie, dass der Anfangsbuchstaben diehiert wird. }} var joan = new Person (); document.write (joan.run ()) // "rennen"Dies ist ein Objekt, das mit einem Konstruktor erstellt wurde, und dann fügen wir eine Codezeile hinzu, um sie zu sehen
var niki = new Person (); alert (joan == niki) // false;
Ja, jetzt werden zwei verschiedene Objektinstanzen erstellt.
Jede Funktion in JavaScript hat ein Prototyp -Attribut. Wenn eine Funktion als Konstruktor verwendet wird, wird dieses Attribut automatisch durch einen neuen Aufruf erstellt, um den Prototyp des Objekts zu erstellen.
console.log (Joan)
Sie können sehen, dass es eine __Proto __: Person gibt, in der __Proto__ die Prototyp -Kette von Joan ist. Es ist der Prototyp, der auf die Person zeigt.
Wenn JS ein Objekt erstellt (unabhängig davon, ob es sich um ein normales Objekt oder ein Funktionsobjekt handelt), verfügt es über eine integrierte Eigenschaft namens __Proto__, die verwendet wird, um auf den Prototyp-Objektprototyp des Funktionsobjekts zu verweisen, das es erstellt hat.
Ein gewisses Verständnis der Prototyp -Ketten ist in dem Buch JavaScript Advanced Programing sehr detailliert. Wenn Sie interessiert sind, können Sie es überprüfen. Es gibt auch PDF -Dokumente online. Es wird jedoch empfohlen, dieses Buch zu kaufen, das die Originalversion unterstützt.
Anschließend können Änderungen an der Prototyp -Eigenschaft des Prototyps auf jedes mit New Person () konstruierte Instanzobjekt angewendet werden, unabhängig davon, ob er vor oder nach der Änderung erstellt wird. Fügen Sie person.Prototype eine neue Funktion hinzu. Die Details sind wie folgt:
var person = function () {// Hinweis, der Anfangsbuchstaben wird kapitalisiert. } var joan = new Person (); Joan.run () // "rennen" alert (joan .__ proto __ === Person.Prototyp) // 'true' 'Wie Sie sehen können, kann die Erstellungsmethode im Prototyp aufgerufen werden, und Joans Prototyp -Kettenketten verweist auf den Prototyp der Person.
Schauen Sie noch einmal nach:
var niki = new person (); // "runing" person.prototype.run = function () {alert ("running")} joan.run () // "Auslauf" niki.run () // "Auslauf".Sehen Sie sich an, dass alle Methoden in Objektinstanzen, die von New Person () erstellt wurden, geändert werden, da alle Instanzen denselben Prototyp -Methodenauslauf teilen. Dies ist eine Anwendung von Prototypen.
Dies ist ein Verständnis für das Erstellen von Objekten.
Ich habe lange geschrieben. Ich weiß nicht, ob es einen Fehler gibt. Wenn es einen Fehler gibt, geben Sie mir bitte einige Ratschläge.
Das nächste Mal werde ich über objektorientiertes Erbe schreiben.
Das obige ist der gesamte Inhalt des umfassenden Verständnisses von JS OOP -Programmiererstellungsobjekten, die Sie vom Herausgeber zur Verfügung gestellt haben. Ich hoffe, jeder wird Wulin.com mehr unterstützen ~