Inhaltsverzeichnis
Detaillierte Erläuterung von Beispielen für Konstruktoren und neue Operatoren in JavaScript
Konstruktor
Konstruktor mit doppeltem Verwendungszweck: new.target
Konstruktor-Rückgabewert
Methoden in Konstruktoren
Zusammenfassung
Heim Web-Frontend js-Tutorial Detaillierte Erläuterung von Beispielen für Konstruktoren und neue Operatoren in JavaScript

Detaillierte Erläuterung von Beispielen für Konstruktoren und neue Operatoren in JavaScript

Aug 08, 2017 pm 01:54 PM
javascript js 实例


Detaillierte Erläuterung von Beispielen für Konstruktoren und neue Operatoren in JavaScript

{…} Die Syntax ermöglicht die Erstellung eines Objekts. Wenn wir jedoch mehrere ähnliche Objekte erstellen müssen, Wir erfordern die Verwendung eines Konstruktors und eines „neuen“ Operators.

Konstruktor

Konstruktor ist technisch gesehen eine normale Funktion, es gibt jedoch im Allgemeinen zwei Konventionen:
1 Der erste Buchstabe ihres Namens wird großgeschrieben.
2. Sie sollten nur mit dem neuen Operator ausgeführt werden.

Beispiel:

function User(name) {
  this.name = name;
  this.isAdmin = false;
}

let user = new User("Jack");

alert(user.name); // Jack
alert(user.isAdmin); // false
Nach dem Login kopieren

Werfen wir einen Blick darauf, was hinter den Kulissen geschieht, wenn new User() ausgeführt wird?
1. Erstellen Sie zunächst ein leeres Objekt und weisen Sie es dann diesem zu.
2. Führen Sie die Funktion aus, ändern Sie normalerweise dieses Objekt und fügen Sie einige neue Attribute hinzu.
3. Dies wird zurückgegeben.

Mit anderen Worten, der Inhalt von new User() ist wie folgt:

function User(name) {
  // this = {};  (implicitly)

  // we add properties to this
  this.name = name;
  this.isAdmin = false;

  // return this;  (implicitly)
}
Nach dem Login kopieren

Das Ergebnis von new User("Jack") stimmt also mit dem folgenden Code überein:

let user = {
  name: "Jack",
  isAdmin: false
};
Nach dem Login kopieren

Wenn wir nun andere Objekte erstellen möchten, können wir new User("Ann"), new User("Alice") usw. verwenden. Kürzer und einfacher zu lesen, als jedes Mal Text zur Beschreibung eines Objekts zu verwenden.
Der Hauptzweck des Konstruktors besteht derzeit darin, die Wiederverwendung von Code zum Erstellen von Objekten zu erreichen.

Beachten wir noch einmal:
Technisch gesehen kann jede Funktion als Konstruktor verwendet werden, d. h. jede Funktion kann mit new aufgerufen werden und auch den oben beschriebenen Algorithmus ausführen.
Die Großschreibung des ersten Buchstabens ist nur eine allgemeine Konvention, um klarer zu machen, dass es sich um einen koreanischen Konstruktor handelt und mit new aufgerufen werden sollte.

new function(){…}
Wenn wir mehrere Codezeilen zum Erstellen eines komplexen Objekts haben, können wir sie mit einem Konstruktor umschließen. Der Code lautet wie folgt:

  let user = new function() { 
     this.name = “John”; 
     this.isAdmin = false;
  // ...other code for user creation
  // maybe complex logic and statements
  // local variables etc
};
Nach dem Login kopieren

Der Konstruktor kann nicht erneut aufgerufen werden, da er nicht gespeichert ist und nur zum Erstellen des Objekts aufgerufen wird. Der Zweck dieser Technik besteht einfach darin, einen einzelnen komplexen Objektcode zu kapseln.

Konstruktor mit doppeltem Verwendungszweck: new.target

Innerhalb der Funktion können wir prüfen, ob die aufrufende Methode die neue Methode verwendet. Dies ist über ein spezielles Attribut new.target möglich.
Der Wert ist leer, wenn er normal aufgerufen wird, und der Wert ist die Funktion, wenn er über new aufgerufen wird.

function User() {
  alert(new.target);
}

User(); // undefined
new User(); // function User { ... }
Nach dem Login kopieren

Der folgende Code kann mit der herkömmlichen Methode und der neuen Betriebsmethode den gleichen Effekt erzielen.

function User(name) {
  if (!new.target) { // if you run me without new
    return new User(name); // ...I will add new for you
  }

  this.name = name;
}

let john = User("John"); // redirects call to new User
alert(john.name); // John
Nach dem Login kopieren

Diese Methode wird in einigen Bibliotheken verwendet, um den Code flexibler zu gestalten. Für diejenigen, die mit der internen Situation des Benutzerobjekts vertraut sind, ist es jedoch nicht sinnvoll, es überall zu verwenden.

Konstruktor-Rückgabewert

Normalerweise benötigen Konstruktoren keine Rückgabewertanweisung. Seine Aufgabe besteht darin, einige notwendige Inhalte in dieses Objekt zu schreiben und es dann automatisch zurückzugeben.
Aber wenn es eine return-Anweisung gibt, ist die Regel einfach:
- Wenn return ein Objekt zurückgibt, wird stattdessen dieses zurückgegeben.
- Wenn return einen primitiven Typ zurückgibt, wird dieser ignoriert und dieser wird trotzdem zurückgegeben.

Mit anderen Worten, return gibt entweder ein Objekt oder dieses zurück. Das folgende Beispiel lautet wie folgt:

function BigUser() {

  this.name = "John";

  return { name: "Godzilla" };  // <-- returns an object
}

alert( new BigUser().name );  // Godzilla, got that object
Nach dem Login kopieren

Dieses Beispiel gibt leer zurück oder ist Einen primitiven Typ schreiben, spielt in der Tat keine Rolle.

function SmallUser() {

  this.name = "John";

  return; // finishes the execution, returns this

  // ...

}

alert( new SmallUser().name );  // John
Nach dem Login kopieren

Die meisten Konstrukteure müssen nicht zurückkehren, dieses besondere Verhalten wird hier nur der intellektuellen Vollständigkeit halber in Erinnerung gerufen.

Ignorieren Sie die Klammern
Übrigens können wir beim Aufruf des Konstruktors die Klammern nach der Objektkennung weglassen, wenn keine Parameter vorhanden sind.

let user = new User; // <-- no brackets
// same as
let user = new User();
Nach dem Login kopieren

Das Ignorieren von Klammern ist kein guter Codierungsstil, aber in der Spezifikation zulässig.

Methoden in Konstruktoren

Die Verwendung von Konstruktoren zum Erstellen von Objekten bietet große Flexibilität, und verschiedene Objekte können durch die Bereitstellung von Parametern definiert werden.
Natürlich fügen wir dazu nicht nur Attribute hinzu, sondern auch Methoden.

Das folgende Beispiel erstellt ein Objekt, verwendet den Namensparameter und fügt eine Methode sayHi hinzu:

function User(name) {
  this.name = name;

  this.sayHi = function() {
    alert( "My name is: " + this.name );
  };
}

let john = new User("John");

john.sayHi(); // My name is: John

/*
john = {
   name: "John",
   sayHi: function() { ... }
}
*/
Nach dem Login kopieren

Zusammenfassung

  • Konstruktor oder Konstruktor für Kurz gesagt, es handelt sich um eine gewöhnliche Funktion, aber es gibt eine allgemeine Konvention, dass der erste Buchstabe des Namens großgeschrieben wird.

  • Der Konstruktor wird mit new aufgerufen, der zunächst ein leeres this-Objekt erstellt und dieses dann mit gefülltem Inhalt zurückgibt.

Wir können den Konstruktor verwenden, um mehrere ähnliche Objekte zu erstellen. Dies ist nicht der einzige Inhalt des Tages, der später näher erläutert wird.
Javascript stellt Konstruktoren für einige integrierte Objekte bereit, z. B. Date, Set usw.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für Konstruktoren und neue Operatoren in JavaScript. 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

Video Face Swap

Video Face Swap

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

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)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1263
29
C#-Tutorial
1237
24
Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Dec 17, 2023 pm 06:55 PM

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen Dec 18, 2023 pm 03:39 PM

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

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

Die Beziehung zwischen js und vue Die Beziehung zwischen js und vue Mar 11, 2024 pm 05:21 PM

Die Beziehung zwischen js und vue: 1. JS als Eckpfeiler der Webentwicklung; 2. Der Aufstieg von Vue.js als Front-End-Framework; 3. Die komplementäre Beziehung zwischen JS und Vue; Vue.

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Feb 24, 2024 pm 03:51 PM

Golang ist eine leistungsstarke und effiziente Programmiersprache, mit der sich verschiedene Anwendungen und Dienste entwickeln lassen. In Golang sind Zeiger ein sehr wichtiges Konzept, das uns helfen kann, Daten flexibler und effizienter zu verwalten. Die Zeigerkonvertierung bezieht sich auf den Prozess der Zeigeroperation zwischen verschiedenen Typen. In diesem Artikel werden anhand konkreter Beispiele die Best Practices der Zeigerkonvertierung in Golang erläutert. 1. Grundkonzepte In Golang hat jede Variable eine Adresse, und die Adresse ist der Speicherort der Variablen im Speicher.

See all articles