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

Fallstudie zur Implementierung eines jQuery Ajax-Chatbots

Chatbots können viel manuelle Arbeit sparen und i...

So verwenden Sie vw+rem für das mobile Layout

Verwenden Sie immer noch das flexible Rem-Layout?...

So installieren Sie MySQL 5.7 manuell auf CentOS 7.4

MySQL-Datenbanken werden häufig verwendet, insbes...

Detaillierte Erklärung des JS-Browserspeichers

Inhaltsverzeichnis Einführung Plätzchen Was sind ...

Zusammenfassung der sieben MySQL JOIN-Typen

Bevor wir beginnen, erstellen wir zwei Tabellen, ...

HTML-Auswahloption So treffen Sie die Standardauswahl

Wenn Sie einer Option das Attribut selected = &quo...

MySQL-Serie 9 MySQL-Abfrage-Cache und -Index

Inhaltsverzeichnis Tutorial-Reihe 1. MySQL-Archit...

So zeigen Sie die Erstellungszeit von Dateien in Linux an

1. Einleitung Ob die Erstellungszeit einer Datei ...

Ein genauerer Blick auf die Unterschiede zwischen Link und @import

Es gibt drei Hauptmethoden, CSS auf einer Seite zu...

Web-Unterrichtspläne, Unterrichtspläne für Anfänger

Unterrichtsthemen Webseite Anwendbare Klasse Zwei...

Beispielcode zur Implementierung eines reinen CSS-Popup-Menüs mit Transform

Vorwort Wenn Sie ein Topmenü erstellen, müssen Si...