Inhaltsverzeichnis
Prototypische Vererbung
Konstruktorvererbung ausleihen
ist der prototypischen Vererbung sehr ähnlich. Sie erstellt auch ein Objekt basierend auf einem Objekt oder einigen Informationen und erweitert es dann das Objekt und gibt schließlich das Objekt zurück.
Kombinierte Vererbung ist das am häufigsten verwendete Vererbungsmuster in js. Das größte Problem bei kombinierter Vererbung besteht darin, dass der Konstruktor unabhängig von den Umständen zweimal aufgerufen wird : einmal Das andere Mal befindet es sich im Subtyp-Konstruktor beim Erstellen eines Subtyp-Prototyps.
Heim Web-Frontend js-Tutorial Teilen mehrerer js-Vererbungsstile

Teilen mehrerer js-Vererbungsstile

Mar 06, 2018 pm 02:36 PM
javascript 分享 继承

In diesem Artikel werden hauptsächlich verschiedene js-Vererbungsstile vorgestellt, darunter prototypische Vererbung, geliehene Konstruktorvererbung, Kombinationsvererbung, parasitäre Stilvererbung, Parasitäre Kombinationsmethode zur Vererbung, ich hoffe, sie kann jedem helfen.

Prototypische Vererbung

Vererbung kann implementiert werden, ohne dass im Voraus ein Konstruktor definiert werden muss. Sein Wesen besteht darin, eine flache Kopie eines bestimmten Objekts durchzuführen. Die kopierte Kopie kann auch weiter geändert werden

function parent(o) {
    this.username = 'father';    this.array = [1,2,3]
}function child() {
    this.age = 20}
child.prototype = new Parent();
Nach dem Login kopieren

Nachteile:
1.
2. Beim Erstellen einer Unterklasseninstanz können Sie keine Parameter an den Konstruktor der übergeordneten Klasse übergeben.

Konstruktorvererbung ausleihen

Leihen Sie sich den Konstruktor der übergeordneten Klasse aus, um die Instanz zu erweitern Unterklasse, das heißt, was dem Kopieren der Attribute oder Methoden der übergeordneten Klasse in die Unterklasse entspricht

function Parent(name,arr) {
    this.name = name;    this.arr = arr;    this.run = function() {
        console.log('run function')
   }
}function Child(name, arr) {
    this.age = 20;
    Parent.call(this,name,arr);
}var obj1 = new Child('zhang san', [1,2,3]);var obj2 = new Child('zhang san', [1,2,3]);
obj1.arr[0] = 'hello'console.log(obj1.arr[0]); // helloconsole.log(obj2.arr[0]); // 1
Nach dem Login kopieren

Vorteile:
1 Lösen Sie das Problem, dass Unterklasseninstanzen Referenzattribute der übergeordneten Klasse teilen
2. Beim Erstellen einer Unterklasseninstanz können Sie Parameter an den Konstruktor der übergeordneten Klasse übergeben.
1. Die Wiederverwendung kann nicht erreicht werden, wenn zu viele Objekte vorhanden sind In der Instanz kommt es zu einem übermäßigen Speicherverbrauch.

Kombinierte Vererbung

Kombinierte Vererbung vermeidet die Nachteile von Prototypketten und geliehenen Konstruktoren und kombiniert deren Vorteile.

function Parent(name,arr) {
    this.name = name;    this.arr = arr;
}
Parent.prototype.run = function() {
    console.log('run function');
}function Child(naem,arr) {
    this.age = '20';
    Parent.call(this,name,arr);        // 借用构造函数 ==》 核心语句   1》不能复用}
Child.prototype = new Parent(); // 原型链 ==》 核心语句  1》父构造函数不能传递参数 2》arr是引用属性,一个改变,互相影响
Nach dem Login kopieren
Vorteile:

Es gibt kein Problem beim Teilen von Referenzattributen
3. Methoden können wiederverwendet werden
Nachteile:
Unterklassen A Redundante Kopie der Attribute der übergeordneten Klasseninstanz auf dem Prototyp

Parasitäre Vererbung

ist der prototypischen Vererbung sehr ähnlich. Sie erstellt auch ein Objekt basierend auf einem Objekt oder einigen Informationen und erweitert es dann das Objekt und gibt schließlich das Objekt zurück.

Parasitäre kombinierte Vererbung
function createAnother(original) {
    var clone = Object.create(original); //
    clone.sayHi = function() {
        console.log(Hi) 
   }   return clone;var Person = {
    name: 'Blob',
    friends: ['Shelby', 'Court', 'Van'];
}var anotherPerson = createAnother(person);
anotherPerson.sayHi(); // Hi
Nach dem Login kopieren

Kombinierte Vererbung ist das am häufigsten verwendete Vererbungsmuster in js. Das größte Problem bei kombinierter Vererbung besteht darin, dass der Konstruktor unabhängig von den Umständen zweimal aufgerufen wird : einmal Das andere Mal befindet es sich im Subtyp-Konstruktor beim Erstellen eines Subtyp-Prototyps.

Verwandte Empfehlungen:
function beget(obj){   // 生孩子函数 beget:龙beget龙,凤beget凤。
    var F = function(){};
    F.prototype = obj;    return new F();
}function Super(){
    // 只在此处声明基本属性和引用属性
    this.val = 1;    this.arr = [1];
}//  在此处声明函数Super.prototype.fun1 = function(){};
Super.prototype.fun2 = function(){};//Super.prototype.fun3...function Sub(){
    Super.call(this);   // 核心
    // ...}var proto = beget(Super.prototype); // 核心proto.constructor = Sub;            // 核心Sub.prototype = proto;              // 核心var sub = new Sub();
alert(sub.val);
alert(sub.arr);
Nach dem Login kopieren


Details zur JS-Vererbung

JS-Vererbungsimplementierungscode_Javascript-Fähigkeiten

JS-Vererbung – Prototypkettenvererbung und Klassenvererbung_Grundkenntnisse

Das obige ist der detaillierte Inhalt vonTeilen mehrerer js-Vererbungsstile. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie teile ich Quark Netdisk mit Baidu Netdisk? Wie teile ich Quark Netdisk mit Baidu Netdisk? Mar 14, 2024 pm 04:40 PM

Quark Netdisk und Baidu Netdisk sind beide sehr praktische Speichertools. Viele Benutzer fragen sich, ob diese beiden Softwareprogramme kompatibel sind. Wie teile ich Quark Netdisk mit Baidu Netdisk? Auf dieser Website erfahren Sie ausführlich, wie Sie Quark Network Disk-Dateien auf der Baidu Network Disk speichern. So speichern Sie Dateien von Quark Network Disk auf Baidu Network Disk Methode 1. Wenn Sie wissen möchten, wie Sie Dateien von Quark Network Disk auf Baidu Network Disk übertragen, laden Sie zunächst die Dateien herunter, die auf Quark Network Disk gespeichert werden müssen, und öffnen Sie sie dann Wählen Sie im Baidu Network Disk-Client den Ordner aus, in dem die komprimierte Datei gespeichert werden soll, und doppelklicken Sie, um den Ordner zu öffnen. 2. Klicken Sie nach dem Öffnen des Ordners oben links im Fenster auf „Hochladen“. 3. Suchen Sie die komprimierte Datei, die auf Ihren Computer hochgeladen werden soll, und klicken Sie, um sie auszuwählen.

So teilen Sie NetEase Cloud Music mit WeChat Moments_Tutorial zum Teilen von NetEase Cloud Music mit WeChat Moments So teilen Sie NetEase Cloud Music mit WeChat Moments_Tutorial zum Teilen von NetEase Cloud Music mit WeChat Moments Mar 25, 2024 am 11:41 AM

1. Zuerst rufen wir NetEase Cloud Music auf und klicken dann auf die Software-Homepage-Oberfläche, um die Song-Wiedergabeoberfläche aufzurufen. 2. Suchen Sie dann in der Song-Wiedergabeoberfläche die Schaltfläche für die Freigabefunktion oben rechts, wie im roten Feld in der Abbildung unten gezeigt, klicken Sie, um den Freigabekanal im Freigabekanal auszuwählen, und klicken Sie auf die Option „Teilen für“. Wählen Sie unten den ersten Eintrag „WeChat Moments“ aus, mit dem Sie Inhalte für WeChat Moments freigeben können.

Detaillierte Erläuterung der C++-Funktionsvererbung: Wie werden „Basisklassenzeiger' und „abgeleitete Klassenzeiger' bei der Vererbung verwendet? Detaillierte Erläuterung der C++-Funktionsvererbung: Wie werden „Basisklassenzeiger' und „abgeleitete Klassenzeiger' bei der Vererbung verwendet? May 01, 2024 pm 10:27 PM

Verwenden Sie bei der Funktionsvererbung „Basisklassenzeiger“ und „abgeleitete Klassenzeiger“, um den Vererbungsmechanismus zu verstehen: Wenn der Basisklassenzeiger auf das abgeleitete Klassenobjekt zeigt, wird eine Aufwärtstransformation durchgeführt und nur auf die Mitglieder der Basisklasse zugegriffen. Wenn ein abgeleiteter Klassenzeiger auf ein Basisklassenobjekt zeigt, wird eine Abwärtsumwandlung durchgeführt (unsicher) und muss mit Vorsicht verwendet werden.

So teilen Sie Dateien mit Freunden auf Baidu Netdisk So teilen Sie Dateien mit Freunden auf Baidu Netdisk Mar 25, 2024 pm 06:52 PM

Vor kurzem hat der Baidu Netdisk Android-Client eine neue Version 8.0.0 eingeführt. Diese Version bringt nicht nur viele Änderungen, sondern fügt auch viele praktische Funktionen hinzu. Am auffälligsten ist unter anderem die Verbesserung der Ordnerfreigabefunktion. Jetzt können Benutzer ganz einfach Freunde einladen, beizutreten und wichtige Dateien im Beruf und im Privatleben zu teilen, was eine bequemere Zusammenarbeit und gemeinsame Nutzung ermöglicht. Wie teilen Sie die Dateien, die Sie benötigen, mit Ihren Freunden? Ich hoffe, dass Ihnen der Herausgeber dieser Website weiterhelfen kann. 1) Öffnen Sie die Baidu Cloud APP, wählen Sie zuerst den entsprechenden Ordner auf der Startseite aus und klicken Sie dann auf das Symbol [...] in der oberen rechten Ecke der Benutzeroberfläche (wie unten gezeigt). 2) Klicken Sie dann auf [+]. Klicken Sie auf die Spalte „Gemeinsame Mitglieder“ 】 und markieren Sie abschließend alle

Lösen Sie das Problem, dass die Discuz WeChat-Freigabe nicht angezeigt werden kann Lösen Sie das Problem, dass die Discuz WeChat-Freigabe nicht angezeigt werden kann Mar 09, 2024 pm 03:39 PM

Titel: Um das Problem zu lösen, dass Discuz WeChat-Freigaben nicht angezeigt werden können, sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des mobilen Internets ist WeChat zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Bei der Website-Entwicklung werden viele Websites WeChat-Freigabefunktionen integrieren, um das Benutzererlebnis zu verbessern und die Website-Präsenz zu erweitern, sodass Benutzer Website-Inhalte problemlos mit Moments oder WeChat-Gruppen teilen können. Allerdings kann es bei der Verwendung von Open-Source-Forumsystemen wie Discuz manchmal zu dem Problem kommen, dass WeChat-Freigaben nicht angezeigt werden können, was zu gewissen Schwierigkeiten bei der Benutzererfahrung führt.

Teilen Sie zwei Installationsmethoden für HP-Druckertreiber Teilen Sie zwei Installationsmethoden für HP-Druckertreiber Mar 13, 2024 pm 05:16 PM

HP-Drucker sind in vielen Büros unverzichtbare Druckgeräte. Durch die Installation des Druckertreibers auf dem Computer können Probleme, wie zum Beispiel, dass der Drucker keine Verbindung herstellen kann, perfekt gelöst werden. Wie installiert man den HP-Druckertreiber? Der folgende Editor stellt Ihnen zwei Methoden zur Installation von HP-Druckertreibern vor. Die erste Methode: Laden Sie den Treiber von der offiziellen Website herunter. 1. Durchsuchen Sie die offizielle Website von HP China in der Suchmaschine und wählen Sie in der Support-Spalte [Software und Treiber] aus. 2. Wählen Sie die Kategorie [Drucker] aus, geben Sie Ihr Druckermodell in das Suchfeld ein und klicken Sie auf [Senden], um Ihren Druckertreiber zu finden. 3. Wählen Sie den entsprechenden Drucker entsprechend Ihrem Computersystem aus. Wählen Sie für Win10 den Treiber für das Win10-System. 4. Nach erfolgreichem Download finden Sie es im Ordner

Wie wirken sich Vererbung und Polymorphismus auf die Klassenkopplung in C++ aus? Wie wirken sich Vererbung und Polymorphismus auf die Klassenkopplung in C++ aus? Jun 05, 2024 pm 02:33 PM

Vererbung und Polymorphismus wirken sich auf die Kopplung von Klassen aus: Vererbung erhöht die Kopplung, da die abgeleitete Klasse von der Basisklasse abhängt. Polymorphismus reduziert die Kopplung, da Objekte über virtuelle Funktionen und Basisklassenzeiger konsistent auf Nachrichten reagieren können. Zu den Best Practices gehören der sparsame Umgang mit der Vererbung, die Definition öffentlicher Schnittstellen, das Vermeiden des Hinzufügens von Datenelementen zu Basisklassen und die Entkopplung von Klassen durch Abhängigkeitsinjektion. Ein praktisches Beispiel, das zeigt, wie Polymorphismus und Abhängigkeitsinjektion verwendet werden, um die Kopplung in einer Bankkontoanwendung zu reduzieren.

So teilen Sie den Link zum Tomato-Roman So teilen Sie den Link zum Tomato-Roman Feb 27, 2024 pm 04:20 PM

Tomato Novels ist eine reichhaltige Schatzkammer für Romane, die eine große Anzahl hochwertiger Romanressourcen sammelt. Hier können Sie ganz nach Ihren Vorlieben aus vielen verschiedenen Romangattungen Ihre Lieblingsromane auswählen. Für diejenigen unter Ihnen, die gerne lesen, ist dies zweifellos eine literarische Welt, in der Sie sich frei bewegen können. Wenn Sie auf Ihr Lieblingslesematerial stoßen, ist es manchmal so, als würden Sie es mit Freunden teilen, um es gemeinsam zu lesen. Viele Benutzer wissen jedoch nicht genau, wie sie es teilen sollen. Daher bietet Ihnen dieses Tutorial eine detaillierte Einführung in das Handbuch für Spieler, die dies wünschen um mehr zu erfahren Kommen Sie und lesen Sie diesen Artikel mit! Wie teile ich Tomatenromane mit Freunden? 1. Öffnen Sie Tomato Novel, klicken Sie, um den Roman aufzurufen, und klicken Sie auf das Teilen-Symbol in der oberen rechten Ecke. 2. Wählen Sie den Freigabekanal aus. Hier nehme ich das Teilen mit WeChat-Freunden als Beispiel. 3. Klicken Sie auf Teilen. 4. Sie können es überprüfen

See all articles