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

Detaillierte Erklärung zum Erstellen geplanter MySql-Aufgaben in Navicat

Detaillierte Erklärung zum Erstellen geplanter My...

Zusammenfassung des Verständnisses des virtuellen DOM in Vue

Es handelt sich im Wesentlichen um ein allgemeine...

Detailliertes Tutorial zum Herunterladen von MySQL unter Windows 10

MySQL-Versionen werden in Enterprise Edition und ...

Implementierung der MySQL-Datentypkonvertierung

1. Problem Es gibt eine Tabelle wie unten gezeigt...

Vue-Konfigurationsdetails für mehrere Seiten

Inhaltsverzeichnis 1. Der Unterschied zwischen me...

Tutorial zu HTML-Tabellen-Tags (23): Zeilenrahmen-Farbattribut BORDERCOLORDARK

In Zeilen können dunkle Rahmenfarben individuell ...

Mysql teilt Zeichenfolge durch gespeicherte Prozedur in Array auf

Um einen String in ein Array aufzuteilen, müssen ...

Docker-Bereitstellung von Implementierungsschritten für Flask-Anwendungen

1. Zweck Schreiben Sie lokal eine Flask-Anwendung...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11

Die Installations- und Konfigurationsmethoden von...

Detaillierte Erläuterung des Problemfalls beim Löschen des Vue KeepAlive-Cache

Keepalive wird häufig zum Caching in Vue-Projekte...