Detaillierte Erklärung der Rolle des neuen Operators in Js

Detaillierte Erklärung der Rolle des neuen Operators in Js

Vorwort

Js ist heutzutage die am häufigsten verwendete Sprache zur Codemanipulation, wobei der neue Operator besonders häufig vorkommt. Vielen Code-Neulingen ist nicht klar, welche Rolle „new“ in Js spielt, wofür es verwendet wird und was es bewirkt. Dieser Artikel beginnt mit der Rolle des neuen Bedieners und stellt kurz die relevanten Kenntnisse des neuen Bedieners vor.

Was ist neu?

Wie wir alle wissen, besteht die Rolle von „new“ in JS darin, ein Instanzobjekt über einen Konstruktor zu erstellen.

So: (Anders als bei gewöhnlichen Funktionen wird bei der Verwendung einer Funktion als Konstruktor der erste Buchstabe normalerweise groß geschrieben, um sie zu unterscheiden.)

Funktion Foo(Name) {
  dieser.name = Name;
}
console.log("Typ des neuen Foo('mm'):", Typ des neuen Foo('mm')); // Objekt
console.log("Foo's Typ:",Typ von Foo); // Funktion


Erstellt ein leeres Objekt

var obj = neues Objekt();

Im Js-Code besteht die Hauptfunktion des neuen Operators darin, Objekte zu generieren. Erstellen Sie über „Neu“ ein leeres Objekt, um die Grundlage für die Objekterstellung zu legen.

Einrichten der Prototypenkette

obj.__proto__ = Funktion.Prototyp;

Nachdem der neue Operator zum Erstellen der Basis in JS verwendet wurde, beginnt der nächste Schritt der JS-Codeoperation, das Einrichten der Prototypkette. Die vom neuen Konstruktor erstellte Instanz kann auf die Eigenschaften in der Prototypkette des Konstruktors zugreifen. Mit anderen Worten: Durch den neuen Operator verknüpft die Prototypkette die Instanz und die Konstruktionsfunktion.

(Ändern Sie diesen Zeiger) Lassen Sie dies in Func auf obj zeigen und führen Sie den Funktionskörper von Func aus.

var Ergebnis =Func.call(obj);

Wenn dies in einer Js-Codegruppe auftritt, funktioniert der Konstruktor im Allgemeinen normal. Wenn dieser Zeiger jedoch durch den neuen Operator geändert wird, wird der Rückgabewert normal zurückgegeben.

Bestimmen Sie den Rückgabewerttyp von Func: Wenn es ein Werttyp ist, geben Sie obj zurück. Wenn es ein Referenztyp ist, geben Sie ein Objekt dieses Referenztyps zurück.

 wenn (Typ von (Ergebnis) == "Objekt"){
  Funktion=Ergebnis;
}
anders{
  Funktion=Objekt;
}

Wie aus dem obigen Satz neuer Operatorcodes ersichtlich ist, kann „new“ auch verwendet werden, um den Rückgabewerttyp von Func zu bestimmen. Wenn der Rückgabewert ein Werttyp ist, wird er normal zurückgegeben. Wenn es ein Referenztyp ist, wird ein Objekt des Referenztyps zurückgegeben.

Die oben genannten vier Punkte sind die Hauptfunktionen des neuen Operators im Js-Code. Ich hoffe, dass sie für Js-Code-Neulinge hilfreich sein können.

Zusammenfassen

Dies ist das Ende dieses Artikels über die Rolle des neuen Operators in Js. Weitere Informationen zur Rolle des neuen Operators in Js 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:
  • Lassen Sie uns ausführlich über das Prinzip und die Implementierung von new in JS sprechen
  • Detaillierte Beschreibung der Funktion von new in JS
  • Detaillierte Erklärung des Prinzips und Beispiel des new-Operators in JavaScript
  • Untersuchung von zwei Möglichkeiten zur Implementierung von „new“ in JavaScript
  • So implementieren Sie den neuen Operator von JavaScript selbst
  • Zusammenfassung gängiger Methoden von C# Newtonsoft.Json
  • C# Newtonsoft.Json analysiert mehrere verschachtelte JSON-Dateien für ein Deserialisierungsbeispiel
  • c#: Newtonsoft.Json-Paketvorgang hinzufügen
  • Der neue Befehl in JavaScript
  • Handschriftliche Implementierung von new in JS

<<:  So greifen Sie in Docker auf den lokalen Computer (Hostcomputer) zu

>>:  So mounten Sie eine Datenfestplatte auf Tencent Cloud Server Centos

Artikel empfehlen

Detaillierte Erklärung des Explain-Typs in MySQL

Einführung: In vielen Fällen denken viele Leute, ...

Wie gut wissen Sie über die Vererbung in JavaScript?

Inhaltsverzeichnis Vorwort Die Beziehung zwischen...

Eine kurze Diskussion zur Logikextraktion und Feldanzeige von Vue3 in Projekten

Inhaltsverzeichnis Logische Schichtung Trennen Si...

css Alle Elemente ab dem n-ten abrufen

Der spezifische Code lautet wie folgt: <div id...

So installieren Sie das Modul „lua-nginx-module“ in Nginx

ngx_lua_module ist ein Nginx-HTTP-Modul, das den ...

Anwendungshandbuch für chinesische WEB-Schriftarten

Die Verwendung von Schriftarten im Web ist sowohl ...

MySQL-Serie 15: Allgemeine MySQL-Konfiguration und Leistungsstresstest

1. Allgemeine MySQL-Konfiguration Alle folgenden ...

Implementierung des Whack-a-Mole-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Implementierungsschritte für die Paketierung und Optimierung von Vue-Projekten

Inhaltsverzeichnis Verpacken, Starten und Optimie...

mysql 5.7.18 winx64 Passwort ändern

Nachdem MySQL 5.7.18 erfolgreich installiert wurd...

Detaillierte Erklärung des daily_routine Beispielcodes in Linux

Schauen Sie sich zunächst den Beispielcode an: #/...