Details zum Überschreiben von Prototypmethoden in JavaScript-Instanzobjekten

Details zum Überschreiben von Prototypmethoden in JavaScript-Instanzobjekten

In JavaScript können wir normalerweise einfach eine Klasse wie den folgenden Code definieren:

var Beispiel = Funktion() {
    // Konstruktorcode hier 
}

Beispiel.Prototyp.func1 = Funktion() {
    // func1-Code hier
}

Beispiel.Prototyp.func2 = Funktion() {
    // func2-Code hier
}

/* hier finden Sie weitere Beispiele für Prototypfunktionen ... */

Verwenden Sie dann den folgenden Code, um die Prototypmethode zu instanziieren und darauf zuzugreifen:

var sampleInstance = neues Sample();
Beispielinstanz.func1();
sampleInstance.func2();
// Weitere Beispielobjekt-Prototypfunktionen aufrufen


Aber wie können wir eine der Prototypmethoden neu schreiben, ohne das ursprüngliche sample zu zerstören? Der einfachste Weg besteht darin, eine andere Klasse zu erstellen, die sample erbt, und dann die Methode der Basisklasse wie folgt in die Prototypmethode der geerbten Klasse umzuschreiben:

var Unterprobe = Funktion() {
    // Konstruktorcode hier
}

// vom Beispiel erben
subSample.prototype = neues Beispiel();
subSample.prototype.fun1 = Funktion() {
    // überschreibe die Funktion „func1“ des Samples
}

Wenn Sie jedoch keine geerbte Klasse erstellen und die Prototypmethode neu schreiben möchten, können Sie direkt den folgenden Code verwenden:

var sampleInstance = neues Sample();
sampleInstance.func1 = Funktion() {
    sample.prototype.fun1.call(this); // rufe func1 des Beispiels auf
    // sampleInstance.func1-Code hier
}


Wir haben die Methode func1 sample Beispielinstanzobjekts neu definiert, auf ihre Prototypmethode func1 zugegriffen und ihr dann zusätzlichen Code hinzugefügt. Auf diese Weise erweitern wir die Prototypmethode von sample , ohne eine abgeleitete Klasse zu erstellen oder die Prototypmethode von sample zu zerstören.

Dies ist das Ende dieses Artikels über die Details zum Überschreiben von Prototypmethoden in JavaScript -Instanzobjekten. Weitere Informationen zum Überschreiben von Prototypmethoden in JavaScript -Instanzobjekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • JavaScript fügt Prototyp-Methodenimplementierung für integrierte Objekte hinzu
  • Verschaffen Sie sich ein umfassendes Verständnis des Prototypobjekts in JavaScript
  • Umfassende Analyse von Prototypen, Prototypobjekten und Prototypketten in js
  • Was bei der Verwendung von Prototypobjekten in js zu beachten ist

<<:  XHTML-Tutorial für den Einstieg: Formular-Tags

>>:  Beheben Sie den Fehler während der Verbindungsausnahme in Docker

Artikel empfehlen

Vollständiges HTML des Upload-Formulars mit Bildvorschau

Das Upload-Formular mit Bildvorschaufunktion, der...

Lösung für dieselbe IP nach dem Klonen der virtuellen Ubuntu 18-Maschine

Vorwort Ich habe vor Kurzem eine virtuelle Maschi...

Ausführliche Erläuterung der Standortpriorität von Nginx

Standortausdruckstyp ~ bedeutet, dass ein regulär...

Syntax und Beispielanalyse der JavaScript-Array-Methode „reduce()“

Vorwort Die Methode „reduce()“ erhält eine Funkti...

InnoDB-Typ MySql stellt Tabellenstruktur und Daten wieder her

Voraussetzung: Speichern Sie die .frm- und .ibd-D...

Fragen und Antworten: Unterschiede zwischen XML und HTML

F: Ich weiß nicht, was der Unterschied zwischen XM...

Mehrere Möglichkeiten zur Implementierung der Vererbung in JavaScript

Inhaltsverzeichnis Strukturelle Vererbung (implem...

Detaillierter Installationsprozess von Jenkins unter Linux

Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...

25 Beispiele für Website-Design im Nachrichtenstil

bmi Voyager Heugabel Ulster Lebensmittelhändler F...

Implementierung der kontinuierlichen Integration von Jenkins+Docker

Inhaltsverzeichnis 1. Einführung in Jenkins 2. Je...

So behandeln Sie den vom Linux-System gemeldeten Fehler tcp_mark_head_lost

Problembeschreibung Kürzlich meldete ein Host die...

js, um einen Karusselleffekt zu erzeugen

Ich denke, das Karussell ist ein relativ wichtige...

Rsync+crontab regelmäßige Synchronisierungssicherung unter centos7

In letzter Zeit möchte ich regelmäßig wichtige in...

Eine kurze Diskussion über HTML-Dokumenttypen und -Kodierung

DOKTYP Doctype wird verwendet, um dem Browser mit...