Der folgende Editor bringt Ihnen eine kurze Diskussion über das Prinzip des neuenOperators in Javascript. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen.
Neu in JavaScript ist ein Syntaxzucker. Für diejenigen, die objektorientierte Sprachen wie C++, Java und C# studiert haben, denken sie Dass es in js einen Unterschied zwischen Klassen und Objekten gibt, ist alles ein Objekt, das gründlicher ist als Java.
Der Prozess von new besteht tatsächlich darin, ein neues Objekt zu erstellen und legen Sie den Prototyp des neuen Objekts auf den Konstruktor fest. Bei der Verwendung von new sind insgesamt drei Objekte an der Zusammenarbeit beteiligt. Die Konstruktorfunktion ist das erste Objekt, das Prototypobjekt ist zwei Ein neu generiertes leeres Objekt ist das dritte Objekt. Schließlich wird ein leeres Objekt zurückgegeben, aber dieses leere Objekt ist kein Vakuum, sondern eine Referenz , die bereits einen Prototyp (Proto) enthält )
Die Schritte sind wie folgt:
(1) Erstellen Sie ein leeres Objekt obj
(2) Lassen Sie das proto (IE hat dieses Attribut nicht) Mitglied des leeren Objekts zeigt auf das Prototyp-Mitgliedsobjekt des Konstruktors
(3) Verwenden Sie apply, um die Konstruktorfunktion aufzurufen, und diese ist gebunden zum leeren Objekt obj.
(4) Gibt das leere Objekt obj zurück
Sie können Ihre eigene Funktion schreiben, anstatt new zu verwenden:
function NEW_OBJECT(Foo){ var obj={}; obj.proto=Foo.prototype; obj.proto.constructor=Foo; Foo.apply(obj,arguments) return obj; }
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über das Prinzip des neuen Operators in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!