So implementieren Sie das Prototypmuster in JavaScript

So implementieren Sie das Prototypmuster in JavaScript

Überblick

Das Prototypmuster bezieht sich auf den Objekttyp, der von der Prototypinstanz erstellt wird, und neue Objekte werden durch Kopieren dieser Prototypen erstellt. Es ist ein Muster zum Erstellen von Objekten, d. h. zum Erstellen eines Objekts als Prototypeigenschaft eines anderen Objekts.

Prototyp-Warnung: Bevor Sie sich mit dem Prototyp-Modus vertraut machen, müssen Sie sich zunächst mit Prototyp, Prototyp-Kette, Prototyp, __proto__, Konstruktor und anderen Themen vertraut machen.

Implementieren des Prototypmusters

ES5-API: Object.create(Prototyp, optionalDescriptorObjects)

Die Methode Object.create() empfängt zwei Parameter: Der erste Parameter ist das __proto__-Objekt und der zweite ist das prototiesObject (optional, der zweite Parameter kann zum Initialisieren zusätzlicher Eigenschaften verwendet werden und akzeptiert die wörtliche Objektform).

var FahrzeugPrototyp = {
    Modell:"Porsche",
    getModel: Funktion () {
        console.log('Das Fahrzeugmodell ist: ' + this.model);
    }
};

var Fahrzeug = Objekt.erstellen(FahrzeugPrototyp,{
    "Modell":{
        Wert: „Ferrari“
    }
});

vehicle.getModel(); //Fahrzeugmodell ist: Ferrari

Wir verwenden Object.create, um tatsächlich ein neues Objekt vehiclePrototype zu erstellen und die Methoden von vehiclePrototype zu erben, sodass zu diesem Zeitpunkt vehicle.__proto__ == vehiclePrototype;

Der Wert von „model“ wird im zweiten Parameter initialisiert, und der Wert von model wird auf „Ferrari“ initialisiert, sodass es zu diesem Zeitpunkt nur ein Modell im neu erstellten Objekt vehiclePrototype gibt und der Wert „Ferrari“ ist.

Verwenden Sie anstelle von Object.create() den Prototyp:

var FahrzeugPrototyp = {
    init: Funktion (Automodell) {
        dieses.Modell = Automodell || "Porsche";
    },
    getModel: Funktion () {
        console.log('Das Fahrzeugmodell ist: ' + this.model);
    }

};

Funktion Fahrzeug(Modell) {
    Funktion F() { };
    F.prototype = Fahrzeugprototyp;    
    var f = neues F();
    f.init(Modell);
    Rückgabe f;
}
var Auto = Fahrzeug('Ferrari');
car.getModel(); // Das Fahrzeugmodell ist: Ferrari

Im obigen Code können wir sehen, dass sich der Kern im Fahrzeug befindet. Wir erstellen zuerst einen neuen Konstruktor, richten dann den Prototyp der Funktion auf vehiclePrototype, instanziieren dann die Funktion und rufen schließlich nach der Vererbung die Init-Methode des Prototyps auf. Schließlich kann auch die Rückgabe des Ausführungsergebnisses erreicht werden;

Zusammenfassen

Das Prototypmuster ist in JavaScript allgegenwärtig, und auch viele andere Muster werden auf Basis von Prototypen implementiert. Daher ist es wichtig, das Wissen über Prototypen und Prototypketten zu studieren und zu überprüfen und dabei den Schwerpunkt auf wichtige Wissenspunkte zu Attributen wie Prototyp, __proto__, Konstruktor usw. zu legen.

Oben finden Sie Einzelheiten zur Implementierung des Prototypmusters mit JavaScript. Weitere Informationen zum JavaScript-Prototypmuster finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • JavaScript-Entwurfsmuster, Befehlsmuster
  • JavaScript-Entwurfsmuster – Prinzipien des Befehlsmusters und Analyse von Anwendungsbeispielen
  • Detaillierte Erläuterung der Prinzipien und Anwendungsbeispiele des JavaScript-Befehlsmodus
  • Beispielanalyse des JavaScript-Entwurfsmusters und des Befehlsmusters
  • Analyse des Konzepts und der Verwendung des Befehlsmodus im JS-Entwurfsmuster
  • Beispiel eines Menüprogramms im JS-Befehlsmodus
  • JavaScript-Entwurfsmuster, klassisches Befehlsmuster
  • Vertieftes Verständnis der JavaScript-Reihe (34): Detaillierte Erläuterung des Befehlsmodus des Entwurfsmusters
  • So implementieren Sie das Beobachtermuster in JavaScript
  • Detaillierte Erklärung des Befehlsmodus in der Javascript-Praxis

<<:  So installieren und konfigurieren Sie Redis in CentOS7

>>:  Zusammenfassung häufiger Probleme und Anwendungskenntnisse in MySQL

Artikel empfehlen

So erstellen Sie schnell eine statische Website in der Alibaba Cloud

Vorwort: Als Junior-Programmierer träume ich davo...

Die einfachste Formularimplementierung des Flexbox-Layouts

Flexibles Layout (Flexbox) erfreut sich zunehmend...

Einfache und schnelle Einführung in die React-Routing-Entwicklung

Installieren Geben Sie zur Installation den folge...

Beispielcode zur Implementierung eines Laufschriftformats mit CSS3

Hintergrund Folgendes ist passiert: Luzhu erfuhr ...

Detaillierte grafische Erklärung zur Verwendung von SVG im Vue3+Vite-Projekt

Heute habe ich bei der Verwendung von SVG in der ...

Beispiel für die gemeinsame Nutzung von Anker-Tags in HTML

Verwendung von Anker-Tags: Als Ankerlink wird ein ...

CSS-Implementierungscode für mehrstufige Menüs

Dies ist eine ziemlich coole Funktion, die Websei...

Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

Inhaltsverzeichnis 1. Baidu Map API-Zugriff 2. Ve...

Referenz zur Webseitenerstellung im IE6 - Standardstil im IE6

Dies ist eigentlich kein offizielles Dokument des ...

Detaillierte Diskussion über Speicher und Variablenspeicher in JS

Inhaltsverzeichnis Vorwort JS Magische Zahl Numme...