Maison >interface Web >js tutoriel >Pourquoi choisir le prototype d'objet plutôt que la notation littérale d'objet pour la définition de méthode en JavaScript ?
La différence entre new Object() et la notation littérale d'objet
La création d'objets en JavaScript peut être effectuée de deux manières : en utilisant le constructeur- basée sur la nouvelle syntaxe Object() ou sur la notation littérale de l'objet. Bien que les deux méthodes semblent obtenir le même résultat, il existe une différence significative lors de l'ajout de méthodes aux objets.
Notation littérale d'objet
Lors de l'utilisation de la notation littérale d'objet, les méthodes sont défini au sein de chaque objet individuel, conduisant à un gaspillage potentiel de mémoire si de nombreux objets ou méthodes sont impliqués.
function Obj(prop) { return { p: prop, sayHello: function() { alert(this.p); }, }; } const foo = new Obj("hello");
Basé sur un constructeur Syntaxe
En revanche, en utilisant la nouvelle syntaxe Object(), les méthodes sont définies dans le prototype d'objet et partagées entre toutes les instances d'objet, optimisant ainsi l'utilisation de la mémoire.
function Obj(prop) { this.p = prop; } Obj.prototype.sayHello = function() { alert(this.p); }; const foo = new Obj("hello");
Avantages de l'utilisation du prototype d'objet
En utilisant la syntaxe basée sur le constructeur et le prototype d'objet, vous bénéficiez des avantages suivants avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!