Il existe plusieurs modes dans JS qui peuvent créer des objets et utiliser les propriétés et méthodes contenues dans l'objet.
D'une manière générale, la première lettre du nom du constructeur est une majuscule, et la première lettre du nom non constructeur est une lettre minuscule. Bien sûr, la seule différence entre un constructeur et une fonction générale est la différence de manière d'appeler. Par conséquent, tant que toute fonction est appelée à travers une nouvelle, elle peut être utilisée comme constructeur. S'il n'est pas appelé à travers nouveau, il est le même qu'une fonction générale.
Permettez-moi de parler de ma compréhension de ces modèles:
Mode d'usine: Créez une fonction générale, créez un objet d'objet dans la fonction, ajoutez des attributs et des méthodes à l'objet, attribuez sa valeur et enfin renvoyez l'objet. Le type d'objet ne peut pas être reconnu.
Mode du constructeur: créez un constructeur, utilisez-le pour attribuer des valeurs et chaque fois qu'une instance est créée, la méthode est créée une fois et chaque méthode exécute la même commande, qui est redondante. Cet inconvénient peut être fait en mettant la méthode dans l'environnement mondial, mais de cette façon il n'y a pas d'encapsulation. Cependant, il peut être résolu en mode prototype.
Modèle de prototype: chaque fonction a une propriété prototype, qui est un pointeur, pointant vers un objet qui contient des propriétés et des méthodes partagées par toutes les instances créées par sa fonction.
La relation entre les objets, les constructeurs et les instances prototypes est le suivant:
Illustration: 1: Le constructeur et les instances créées par le constructeur, leurs attributs prototypes pointent vers l'objet prototype du constructeur.
2: L'objet prototype du constructeur a l'attribut de constructeur, qui pointe vers le constructeur.
3: Toutes les propriétés et méthodes contenues dans l'objet prototype du constructeur peuvent être partagées par toutes les instances créées par le constructeur.
Après avoir réécrit l'objet Prototype à l'aide du littéral de l'objet, le constructeur pointe vers le constructeur d'objets. S'il est nécessaire de pointer vers un autre constructeur, vous devez modifier la valeur de l'attribut constructeur de l'objet Prototype, tel que: Constructeur: Personne. De cette façon, même si l'objet Person Prototype est réécrit, le constructeur de l'objet Prototype pointe toujours vers le constructeur de la personne.
Lors de la création d'une instance en premier: si vous ajoutez directement des propriétés ou des méthodes, l'instance est accessible.
Si l'objet Prototype est réécrit, le prototype du constructeur pointe vers le nouvel objet Prototype, tandis que le prototype de l'instance créée précédemment pointe toujours vers l'objet prototype d'origine, de sorte que l'instance ne peut pas accéder aux nouvelles propriétés ou de nouvelles méthodes du nouvel objet Prototype.
L'objet prototype contient des propriétés et des méthodes partagées, donc chaque instance a ces informations, il n'y a donc pas de différence entre les instances et les paramètres ne peuvent pas être transmis, ce qui n'est pas ce que nous voulons. Chaque instance a des informations courantes et des informations différentes, nous pouvons donc utiliser une combinaison de mode constructeur et de mode prototype.
Utilisez une combinaison de mode constructeur et de mode prototype:
Modèle de prototype d'état: combinez des constructeurs indépendants avec leurs objets prototypes, initialisez le prototype dans le constructeur et ajoutez-y des méthodes.
Si la méthode n'existe pas, elle est ajoutée à l'objet prototype et est exécutée uniquement lorsque le prototype est initialisé, et une seule fois.
Mode du constructeur parasite: similaire au mode d'usine, la différence est: le mode constructeur parasite est un constructeur et les instances sont créées via Nouveau.
Modèle de constructeur stable: il n'y a pas de propriétés publiques et ses méthodes ne font pas référence à cet objet. Aucun nouveau n'est utilisé lors de la création d'une instance. Seul l'accès aux propriétés (c'est-à-dire les données entrantes) se fait par méthodes.
L'introduction ci-dessus à plusieurs modes d'objets de création JavaScript est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.