Wissen Sie, was js macht, wenn ein Objekt neu ist?
Vorwort
In JavaScript kann ein Instanzobjekt über den neuen Operator erstellt werden, und dieses Instanzobjekt erbt die Eigenschaften und Methoden des ursprünglichen Objekts. Daher besteht die Bedeutung der Existenz von new darin, dass es die Vererbung in JavaScript implementiert und nicht nur ein Objekt instanziiert.
Die Rolle von new
Lassen Sie uns zunächst die Rolle von new
anhand von Beispielen verstehen. Die Beispiele lauten wie folgt: new
的作用,示例如下:
function Person(name) { this.name = name } Person.prototype.sayName = function () { console.log(this.name) } const t = new Person('小明') console.log(t.name) // 小明 t.sayName() // 小明
从上面的例子中我们可以得出以下结论:
new
通过构造函数Person
创建出来的实例对象可以访问到构造函数中的属性。
new
通过构造函数Person
创建出来的实例可以访问到构造函数原型链中的属性,也就是说通过new
操作符,实例与构造函数通过原型链连接了起来。
构造函数 Person
并没有显式 return
任何值(默认返回 undefined
),如果我们让它返回值会发生什么事情呢?
function Person(name) { this.name = name return 1 } const t = new Person('小明') console.log(t.name) // 小明
在上述例子中的构造函数中返回了 1
,但是这个返回值并没有任何的用处,得到的结果还是和之前的例子完全一样。我们又可以得出一个结论:
构造函数如果返回原始值,那么这个返回值毫无意义。
我们再来试试返回对象会发生什么:
function Person(name) { this.name = name return {age: 23} } const t = new Person('小明') console.log(t) // { age: 23 } console.log(t.name) // undefined
通过上面这个例子我们可以发现,当返回值为对象时,这个返回值就会被正常的返回出去。我们再次得出了一个结论:
构造函数如果返回值为对象,那么这个返回值会被正常使用。
总结:这两个例子告诉我们,构造函数尽量不要返回值。因为返回原始值不会生效,返回对象会导致 new 操作符没有作用。
实现 new
首先我们要清楚,在使用 new
function _new(fn, ...args) { const newObj = Object.create(fn.prototype); const value = fn.apply(newObj, args); return value instanceof Object ? value : newObj; }
< ul>new
Das über den KonstruktorPerson
erstellte Instanzobjekt kann auf die Eigenschaften im Konstruktor zugreifen.new
Die durch den KonstruktorPerson
erstellte Instanz kann auf die Eigenschaften in der Konstruktor-Prototypenkette zugreifen, also übernew
Operatoren , Instanzen und Konstruktoren sind über die Prototypenkette verbunden.
Person
gibt
explizit keinen Wert zurück (Standard gibt undefiniert
zurück), wenn wir Was tun passiert, wenn es einen Wert zurückgibt? function Person(name) { this.name = name; } Person.prototype.sayName = function () { console.log(this.name); }; const t = _new(Person, "小明"); console.log(t.name); // 小明 t.sayName(); // 小明
1
zurückgegeben, aber dieser Rückgabewert ist nutzlos und das Ergebnis ist genau das gleiche wie im vorherigen Beispiel. Wir können eine andere Schlussfolgerung ziehen:
Wenn der Konstruktor den ursprünglichen Wert zurückgibt, ist der Rückgabewert bedeutungslos.Lassen Sie uns versuchen, was passiert, wenn das Objekt zurückgegeben wird:
🎜Wenn der Rückgabewert des Konstruktors ein Objekt ist, wird der Rückgabewert normal verwendet. 🎜🎜Zusammenfassung: Diese beiden Beispiele zeigen uns, dass Konstruktoren versuchen sollten, keine Werte zurückzugeben. Da die Rückgabe des ursprünglichen Werts keine Wirkung zeigt, führt die Rückgabe des Objekts dazu, dass der neue Operator keine Wirkung hat. 🎜
Um new zu implementieren🎜🎜Zunächst müssen wir wissen, was js tut, wenn der Operator new
verwendet wird: 🎜🎜🎜js wird intern erstellt An Objekt🎜🎜Dieses Objekt kann auf die Eigenschaften des Konstruktor-Prototyps zugreifen, daher muss das Objekt mit dem Konstruktor verbunden werden🎜🎜Dies innerhalb des Konstruktors wird dem neuen Objekt zugewiesen (das heißt, dies zeigt auf das neue Objekt)🎜🎜Zurückgeben Der ursprüngliche Wert muss ignoriert werden, das zurückgegebene Objekt muss normal verarbeitet werden die Rolle des neuen Operators in JavaScript und wie man einen neuen Operator implementiert. 🎜🎜
Das obige ist der detaillierte Inhalt vonWissen Sie, was js macht, wenn ein Objekt neu ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

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

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

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

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

Was ist JPA? Wie unterscheidet es sich von JDBC? JPA (JavaPersistence API) ist eine Standardschnittstelle für objektrelationales Mapping (ORM), die es Java-Entwicklern ermöglicht, vertraute Java-Objekte zum Betreiben von Datenbanken zu verwenden, ohne SQL-Abfragen direkt in die Datenbank schreiben zu müssen. JDBC (JavaDatabaseConnectivity) ist die Standard-API von Java für die Verbindung mit Datenbanken. Sie erfordert, dass Entwickler SQL-Anweisungen verwenden, um die Datenbank zu betreiben. JPA kapselt JDBC, bietet eine bequemere und übergeordnete API für die objektrelationale Zuordnung und vereinfacht Datenzugriffsvorgänge. Was ist in JPA eine Entität? juristische Person
