Heim Web-Frontend js-Tutorial Ausführliche Erläuterung der Anwendungsfälle der JS-Objektvererbung

Ausführliche Erläuterung der Anwendungsfälle der JS-Objektvererbung

Jun 04, 2018 am 10:47 AM
javascript 案例 详解

Dieses Mal werde ich Ihnen die Anwendungsfälle der JS-Objektvererbung ausführlich erläutern. Was sind die Vorsichtsmaßnahmen für die Verwendung der JS-Objektvererbung? Das Folgende ist ein praktischer Fall.

Das Modifizieren von Objekten, die Sie nicht besitzen, ist eine gute Lösung für bestimmte Probleme. In einem „gutartigen“ Zustand geschieht dies normalerweise nicht; es kann passieren, dass der Entwickler auf ein Problem gestoßen ist und es dann durch Ändern des Objekts gelöst hat. Dennoch gibt es immer mehr als eine Lösung für ein bekanntes Problem. Ein Großteil des Informatikwissens wurde entwickelt, um schwierige Probleme in statisch typisierten Sprachumgebungen wie Java zu lösen. Möglicherweise gibt es Methoden, sogenannte Design Patterns, die diese Objekte nicht direkt verändern, sondern erweitern.

Außerhalb von JS ist die Vererbung die beliebteste Form der Objekterweiterung. Wenn ein Objekttyp bereits das meiste tut, was Sie wollen, erben Sie von ihm und fügen Sie dann einige Funktionen hinzu. In JS gibt es zwei Grundformen: objektbasierte Vererbung und typbasierte Vererbung.

In JS gibt es bei der Vererbung immer noch einige große Einschränkungen. Erstens können Sie nicht von DOM- oder BOM-Objekten erben. Zweitens funktioniert die Vererbung vom Array aufgrund der komplizierten Beziehung zwischen dem Array-Index und der Längeneigenschaft nicht ordnungsgemäß.

Objektbasierte Vererbung

Bei der objektbasierten Vererbung, auch oft als prototypische Vererbung bezeichnet, erbt ein Objekt ein anderes Objekt, ohne den Konstruktor aufzurufen. Die ES5-Methode Object.create() ist die einfachste Möglichkeit, diese Art der Vererbung zu implementieren. Zum Beispiel:

var person = {  name: 'Nicholas',  sayName: function () {    console.log(this.name);
  }
};var myPerson = Object.create(person);
myPerson.sayName(); // "Nicholas"
Nach dem Login kopieren

In diesem Beispiel wird ein neues Objekt „myPerson“ erstellt, das von „person“ erbt. Diese Vererbungsmethode ähnelt dem Prototyp von „myPerson“, der auf „person“ gesetzt wird. Von da an kann „myPerson“ auf die Eigenschaften und Methoden von „person“ zugreifen, ohne die Variable mit demselben Namen für ein neues Objekt neu definieren zu müssen. Wenn Sie beispielsweise myPerson.sayName() neu definieren, wird der Zugriff auf person.sayName() automatisch unterbrochen: Die Methode

myPerson.sayName = function () {  console.log('Anonymous');
};
myPerson.sayName(); // "Anonymous"person.sayName(); // "Nicholas"
Nach dem Login kopieren

Object.create() kann einen zweiten Parameter sowie die Eigenschaften und Methoden im Parameterobjekt angeben wird dem neuen Objekt hinzugefügt. Zum Beispiel:

var myPerson = Object.create(person, {  name: {    value: 'Greg'
  }
});
myPerson.sayName(); // "Greg"person.sayName(); // "Nicholas"
Nach dem Login kopieren

Das in diesem Beispiel erstellte myPerson-Objekt hat seinen eigenen Namensattributwert, daher zeigt der Aufruf von sayName() „Greg“ anstelle von „Nicholas“ an.

Sobald ein neues Objekt auf diese Weise erstellt wurde, kann das neue Objekt völlig frei geändert werden. Schließlich sind Sie der Eigentümer des Objekts und können in Ihrem Projekt Methoden hinzufügen, vorhandene Methoden überschreiben oder sogar Methoden löschen (oder deren Zugriff verhindern).

Typbasierte Vererbung

Die typbasierte Vererbung funktioniert auf die gleiche Weise wie die objektbasierte Vererbung. Sie erbt von einem vorhandenen Objekt. Die Vererbung hängt hier vom Prototyp ab. Daher wird die typbasierte Vererbung durch Konstruktoren und nicht durch Objekte implementiert. Dies bedeutet, dass auf den Konstruktor des geerbten Objekts zugegriffen werden muss. Im Vergleich zu nativen Typen in JS ist die typbasierte Vererbung am besten geeignet, wenn Entwickler Konstruktoren definieren. Gleichzeitig erfordert die typbasierte Vererbung im Allgemeinen zwei Schritte: zuerst die Prototypenvererbung und dann die Konstruktorvererbung. Bei der Konstruktorvererbung wird das neu erstellte Objekt beim Aufruf des Konstruktors der Superklasse als dieser Wert übergeben. Beispiel:

function Person (name) {  this.name = name;
}function Author (name) {
  Person.call(this, name); // 继承构造器}
Author.prototype = new Person();
Nach dem Login kopieren

In diesem Code erbt der Autortyp von Person. Der Attributname wird tatsächlich von der Person-Klasse verwaltet, sodass Person.call(this, name) dem Person-Konstruktor ermöglicht, das Attribut weiter zu definieren. Darauf wird der Person-Konstruktor ausgeführt, der auf ein Author-Objekt zeigt, sodass der endgültige Name auf diesem Author-Objekt definiert wird.

Im Vergleich zur objektbasierten Vererbung ist die typbasierte Vererbung beim Erstellen neuer Objekte flexibler. Durch die Definition eines Typs können Sie mehrere Instanzobjekte erstellen, die alle von einer gemeinsamen Oberklasse erben. Der neue Typ sollte die Eigenschaften und Methoden, die er verwenden muss, klar definieren und sie sollten sich völlig von denen in der Oberklasse unterscheiden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So vermeiden Sie Nullvergleiche in der Webentwicklung

Warum Sie die Verwendung globaler Variablen vermeiden müssen Webentwicklung

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendungsfälle der JS-Objektvererbung. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen 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)

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Feb 22, 2024 pm 08:21 PM

Detaillierte Erläuterung der Funktion system() des Linux-Systems Der Systemaufruf ist ein sehr wichtiger Teil des Linux-Betriebssystems. Er bietet eine Möglichkeit, mit dem Systemkernel zu interagieren. Unter diesen ist die Funktion system() eine der am häufigsten verwendeten Systemaufruffunktionen. In diesem Artikel wird die Verwendung der Funktion system() ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Grundlegende Konzepte von Systemaufrufen Systemaufrufe sind eine Möglichkeit für Benutzerprogramme, mit dem Betriebssystemkernel zu interagieren. Benutzerprogramme fordern das Betriebssystem an, indem sie Systemaufruffunktionen aufrufen

Detaillierte Erläuterung des Linux-Befehls „curl'. Detaillierte Erläuterung des Linux-Befehls „curl'. Feb 21, 2024 pm 10:33 PM

Detaillierte Erläuterung des Linux-Befehls „curl“ Zusammenfassung: Curl ist ein leistungsstarkes Befehlszeilentool für die Datenkommunikation mit dem Server. In diesem Artikel wird die grundlegende Verwendung des Curl-Befehls vorgestellt und tatsächliche Codebeispiele bereitgestellt, um den Lesern zu helfen, den Befehl besser zu verstehen und anzuwenden. 1. Was ist Locken? Curl ist ein Befehlszeilentool zum Senden und Empfangen verschiedener Netzwerkanfragen. Es unterstützt mehrere Protokolle wie HTTP, FTP, TELNET usw. und bietet umfangreiche Funktionen wie Datei-Upload, Datei-Download, Datenübertragung und Proxy

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Detaillierte Analyse der C-Sprachlernroute Detaillierte Analyse der C-Sprachlernroute Feb 18, 2024 am 10:38 AM

Als weit verbreitete Programmiersprache im Bereich der Softwareentwicklung ist die Sprache C für viele Programmieranfänger die erste Wahl. Das Erlernen der C-Sprache kann uns nicht nur dabei helfen, grundlegende Programmierkenntnisse zu erwerben, sondern auch unsere Problemlösungs- und Denkfähigkeiten verbessern. In diesem Artikel wird eine Roadmap zum Erlernen der C-Sprache im Detail vorgestellt, um Anfängern dabei zu helfen, ihren Lernprozess besser zu planen. 1. Grundlegende Grammatik lernen Bevor wir mit dem Erlernen der C-Sprache beginnen, müssen wir zunächst die grundlegenden Grammatikregeln der C-Sprache verstehen. Dazu gehören Variablen und Datentypen, Operatoren, Steueranweisungen (z. B. if-Anweisungen,

Detaillierte Erläuterung der Numpy-Versionsabfragemethode Detaillierte Erläuterung der Numpy-Versionsabfragemethode Jan 19, 2024 am 08:20 AM

Numpy ist eine Python-Bibliothek für wissenschaftliches Rechnen, die eine Fülle von Array-Operationsfunktionen und -Tools bietet. Wenn Sie die Numpy-Version aktualisieren, müssen Sie die aktuelle Version abfragen, um die Kompatibilität sicherzustellen. In diesem Artikel wird die Methode der Numpy-Versionsabfrage ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt. Methode 1: Verwenden Sie Python-Code, um die Numpy-Version abzufragen. Sie können die Numpy-Version einfach mit Python-Code abfragen. Das Folgende ist die Implementierungsmethode und der Beispielcode: importnumpyasnpprint(np

See all articles