Jetzt werde ich Ihnen ein umfassendes Verständnis der Js-OOP-Programmierung zum Erstellen von Objekten vermitteln. Lassen Sie mich es jetzt mit Ihnen teilen und es allen als Referenz geben.
Objektorientiert ist eine Methode zum Verstehen und Abstrahieren der realen Welt. Sie ist das Produkt der Entwicklung der Computerprogrammiertechnologie bis zu einem bestimmten Grad.
Die Bedeutung eines Objekts
Das Objekt kann ein Auto, eine Person, ein Tier, ein Text, eine Form oder alles, was existiert, sein , usw.
Objekte haben:
Attribute ------- Bestimmte spezifische Eigenschaften des Objekts.
Methode ------- Was das Objekt tun kann.
Ereignisse ------- können auf Dinge reagieren, die Objekten passieren.
Wir können Objektorientierung verstehen, indem wir ein Objekt einer Person erstellen
Person:
Zwei Hände, zwei Füße, ein Kopf und Can laufen.
Hände, Füße und Kopf sind menschliche Attribute und Laufen ist eine menschliche Methode.
Erstellen wir zunächst auf einfachste Weise ein Objekt
var person = { head: "one", hand: "two", foot: "two", run : function(){ console.log("running"); } }
Diese Methode ist überhaupt nicht praktikabel, da sie ein separates Objekt erstellt und sich dieses Objekt von allen gängigen Daten unterscheidet. Die Struktur hat keine Verbindung.
Dann verwenden wir den Konstruktor, um ein Objekt zu erstellen
var Person = function(){//注意,首字母大写 this.head = "one", this.hand = "two", this.foot = "two", this.run = function(){ alert("running"); } } var Joan = new Person(); document.write(Joan.run())// "running"
Dies ist das Objekt, das mit dem Konstruktor erstellt wurde, und dann fügen wir eine Codezeile hinzu, um es anzuzeigen
var Niki = new Person(); alert(Joan==Niki) //false;
Ja, es werden jetzt zwei verschiedene Objektinstanzen erstellt.
Jede Funktion in JavaScript verfügt über ein Prototyp-Attribut. Wenn eine Funktion als Konstruktor verwendet wird, wird dieses Attribut automatisch über new aufgerufen, um den Prototyp des Objekts zu erstellen.
console.log(Joan)
Das können Sie sehen Es gibt eine __proto__:Person, wobei __proto__ die Prototypkette von Joan ist. Sie zeigt auf den Prototyp von Person.
Wenn JS ein Objekt erstellt (ob es sich um ein gewöhnliches Objekt oder ein Funktionsobjekt handelt), gibt es eine integrierte Eigenschaft namens __proto__, die auf den Prototypobjekt-Prototyp des Funktionsobjekts verweist, das ihn erstellt hat.
Ein gewisses Verständnis der Prototypenkette ist ausführlich im Buch JavaScript Advanced Programming beschrieben. Wenn Sie interessiert sind, können Sie es sich auch online ansehen. Es wird jedoch empfohlen, dieses Buch zu kaufen und die Originalversion zu unterstützen.
Dann können alle Änderungen an der Prototypeigenschaft des Prototyps auf jedes mit new Person() erstellte Instanzobjekt angewendet werden, unabhängig davon, ob es vor oder nach der Änderung erstellt wurde. Fügen Sie eine neue Funktion für Person.prototype hinzu. Insbesondere wie folgt:
var Person = function(){//注意,首字母大写 this.head = "one", this.hand = "two", this.foot = "two" } Person.prototype.run = function(){ alert("running"); } var Joan = new Person(); Joan.run()// "running" alert(Joan.__proto__===Person.prototype)//'true'
Sie können sehen, dass die im Prototyp erstellte Methode aufgerufen werden kann und Joans Prototypkette auf den Prototyp von Person verweist.
Schauen Sie noch einmal:
var Niki = new Person();//"runing" Person.prototype.run = function(){ alert("running running") } Joan.run()//"running running" Niki.run()//"running running"
Schauen Sie, ändern Sie die Prototypmethode von Person. Alle Methoden in den von new Person() erstellten Objektinstanzen wurden geändert, da sie von allen Instanzen gemeinsam genutzt werden. Ein Prototyp einer Methodenausführung. Dies ist eine Anwendung von Prototypen.
Das Obige habe ich für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
Native js implementiert die Feiertags-Countdown-Funktion (Code im Anhang)
Das obige ist der detaillierte Inhalt vonDetaillierte Interpretation der Js OOP-Programmierung zum Erstellen von Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!