Heim >Web-Frontend >js-Tutorial >Einführung in verschiedene Modi zum Erstellen von Objekten in Javascript_Grundkenntnisse
In js gibt es mehrere Modi zum Erstellen von Objekten und zum Bedienen der in den Objekten enthaltenen Eigenschaften und Methoden.
Im Allgemeinen ist der erste Buchstabe des Konstruktornamens ein Großbuchstabe, und der erste Buchstabe des Nicht-Konstruktor-Funktionsnamens ist ein Kleinbuchstabe. Natürlich besteht der einzige Unterschied zwischen einem Konstruktor und einer allgemeinen Funktion darin Solange eine Funktion über new aufgerufen wird, kann sie als Konstruktor verwendet werden. Wenn sie nicht über new aufgerufen wird, ist sie dasselbe wie eine normale Funktion.
Sprechen Sie über mein Verständnis dieser Modi:
Werksmodus: Erstellen Sie eine allgemeine Funktion, erstellen Sie ein Objektobjekt in der Funktion, fügen Sie dem Objekt Eigenschaften und Methoden hinzu, weisen Sie seinen Wert zu und geben Sie schließlich das Objekt zurück. Unbekannter Objekttyp.
Konstruktormuster: Erstellen Sie einen Konstruktor, verwenden Sie diesen, um Werte zuzuweisen. Jedes Mal, wenn eine Instanz erstellt wird, wird die Methode einmal erstellt und jede Methode führt denselben Befehl aus ist überflüssig. Dieser Mangel kann behoben werden, indem die Methode in der globalen Umgebung platziert wird, dann gibt es jedoch keine Kapselung. Aber es kann durch den Prototypenmodus gelöst werden.
Prototypmuster: Jede Funktion verfügt über ein Prototypattribut, das einen Zeiger auf ein Objekt darstellt, das Eigenschaften enthält, die von allen von seiner Funktion erstellten Instanzen gemeinsam genutzt werden.
Die Beziehung zwischen Prototypobjekten, Konstruktoren und Instanzen ist wie folgt:
Abbildung: 1: Konstruktoren und von Konstruktoren erstellte Instanzen, deren Prototypattribute auf das Prototypobjekt des Konstruktors verweisen.
2: Das Prototypobjekt des Konstruktors verfügt über ein Konstruktorattribut, das auf den Konstruktor verweist.
3: Alle im Prototypobjekt des Konstruktors enthaltenen Eigenschaften und Methoden können von allen vom Konstruktor erstellten Instanzen gemeinsam genutzt werden.
Nachdem das Prototypobjekt mithilfe von Objektliteralen neu geschrieben wurde, zeigt der Konstruktor auf den Objektkonstruktor. Wenn er auf einen anderen Konstruktor verweisen soll, müssen Sie den Wert des Konstruktorattributs des Prototypobjekts ändern, z. B.: Konstruktor. Person, sodass der Prototyp von Person Auch wenn das Objekt überschrieben wird, zeigt der Konstruktor des Prototypobjekts immer noch auf den Person-Konstruktor.
Beim ersten Erstellen einer Instanz: Wenn Attribute oder Methoden direkt hinzugefügt werden, kann auf die Instanz zugegriffen werden.
Wenn das Prototypobjekt überschrieben wird, zeigt der Prototyp des Konstruktors auf das neue Prototypobjekt, und der Prototyp der zuvor erstellten Instanz zeigt weiterhin auf das ursprüngliche Prototypobjekt, sodass die Instanz nicht auf die neuen Eigenschaften oder neuen Methoden von zugreifen kann das neue Prototypobjekt.
Das Prototypobjekt enthält gemeinsame Eigenschaften und Methoden, daher verfügt jede Instanz über diese Informationen, sodass es keinen Unterschied zwischen den Instanzen gibt und keine Parameter übergeben werden können, was nicht das ist, was wir wollen. Zwischen den einzelnen Instanzen gibt es gemeinsame und unterschiedliche Informationen, sodass wir das Konstruktormuster und das Prototypmuster in Kombination verwenden können.
Kombinierte Verwendung von Konstruktormuster und Prototypmuster:
Statischer Prototypmodus: Kombinieren Sie einen unabhängigen Konstruktor mit seinem Prototypobjekt, initialisieren Sie den Prototyp im Konstruktor und fügen Sie ihm Methoden hinzu.
Parasitisches Konstruktormuster: Ähnlich wie das Fabrikmuster besteht der Unterschied darin: Das parasitäre Konstruktormuster ist ein Konstruktor und erstellt Instanzen durch neue. Sicheres Konstruktormuster: Es gibt keine öffentlichen Eigenschaften und seine Methoden verweisen nicht auf dieses Objekt. Verwenden Sie beim Erstellen einer Instanz nicht new. Auf Eigenschaften (also die übergebenen Daten) kann nur über Methoden zugegriffen werden.
Die obige Einführung in verschiedene Modi zum Erstellen von Objekten in JavaScript ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie Script Home unterstützen.