


Ausführliche Erläuterung des Konstruktormusters in JavaScript_Javascript-Kenntnissen
Eine kurze Beschreibung des Konstruktormusters (siehe Bild):
Der Konstruktor kann nicht vererbt werden, daher kann das Überschreiben nicht überschrieben werden, aber das Überladen kann überschrieben werden. Konstruktoren werden zum Erstellen von Objekten eines bestimmten Typs verwendet. Sie bereiten das Objekt für die Verwendung vor und empfangen Parameter, mit denen der Konstruktor die Werte von Mitgliedseigenschaften und -methoden festlegen kann, wenn das Objekt zum ersten Mal erstellt wird
1. Objekt erstellen
Zwei Möglichkeiten, neue Objekte zu erstellen
var newObject={}; var newObject=new object();//object 构造器的简洁记法
2. Basiskonstruktor
Wenn Javascript keine Klassen unterstützt, können Objekte und Konstruktoren verwendet werden, um ein Objekt über das neue Schlüsselwort zu instanziieren. Der Code sieht wahrscheinlich so aus
function Car(model,year,miles){ this.model=model; this.year=year; this.miles=miles; this.toString=function() { return this.model+"has done"+this.miles+"miles"; }; }; //用法 //可以创建car新实例 var civic=new Car("Hona Civic",2009,2000); var mondeo=new Car("Ford Mondeo",2010,5000); console.log(civic.toString()); console.log(mondeo.toString());
3. Konstrukteur mit Prototyp
JavaScript hat das Prototyp-Attribut. Nach dem Aufruf des JavaScript-Konstruktors zum Erstellen eines Objekts verfügt das neue Objekt über alle Eigenschaften des Konstruktorprototyps. Auf diese Weise können mehrere Car-Objekte erstellt werden (die auf denselben Prototyp zugreifen)
funcion() Ca(model,year,miles){ this.model=model; this.year=year; this.miles=miles; //注意使用Object.prototype.newMethod 而不是Object.prototype是为了重新定义prototype对象 Car.prototype.toString=function(){ return this.model+"Has done" +this.miles+"miles"; }; }; //用法 var civic=new Car("Honda Civic",2009,20000); var momdeo=new Car("Ford Mondeo",2010,5000); console.log(civic.toString()); console.log(mondeo.toString());
Jetzt kann eine einzelne Instanz von toString() von allen Car-Objekten gemeinsam genutzt werden
Lassen Sie mich die häufigsten Fehler von Konstrukteuren in tatsächlichen Projekten mit Ihnen teilen
class A { public int Avar; public A() { System.out.println("AAA"); doSomething(); } public void doSomething() { Avar = 1111; System.out.println("A.doSomething()"); } } public class B extends A { public int Bvar = 2222; public B() { System.out.println("BBB"); doSomething(); System.out.println("Avar=" + Avar); } public void doSomething() { System.out.println("Bvar=" + Bvar); } public static void main(String[] args) { new B(); } }
Die Reihenfolge ist wie folgt: Um B zu generieren, müssen Sie zuerst A generieren. Rufen Sie also den Konstruktor von A auf, geben Sie AAA aus und rufen Sie dann die Methode dosomething auf. Hinweis: Diese Methode von A wird von B überschrieben Was Sie generieren, ist das Objekt von B. Daher wird die Methode von B aufgerufen. Da BVAR derzeit keinen bestimmten Wert hat, wird es automatisch auf 0 initialisiert
Generieren Sie dann das B-Objekt, initialisieren Sie zuerst die Variable BVAR, rufen Sie dann den Konstruktor auf, um BBB auszugeben, und rufen Sie dann die Methode auf. Zu diesem Zeitpunkt wurde BVAR initialisiert, sodass der Ausgang BVAR = 2222 und die Variable AVAR in ist Objekt A ruft die Methode dosomething von Objekt A nicht auf, daher ist ihr Wert 0 und gibt dann 0 ausDie gesamte Ausgabe lautet wie folgt:
AAA
Bvar=0
BBB
Bvar=2222
Avar=0

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...
