Maison  >  Article  >  interface Web  >  Résumé d'exemples de plusieurs façons de créer des objets personnalisés en Javascript

Résumé d'exemples de plusieurs façons de créer des objets personnalisés en Javascript

伊谢尔伦
伊谢尔伦original
2017-07-27 17:01:471590parcourir

Constructeur d'objet/littéral d'objet  :

Mettez de côté le modèle de conception, utilisez la méthode la plus basique, qui consiste à appeler d'abord le constructeur d'objet pour créer un Objet, puis ajoutez des attributs à l'objet.

var student = new Object();
     student.name = "xiao ming";
     student.age = 20;
     student.getName = function () {
         alert(this.name);
     }

Les étudiants qui sont familiers avec les littéraux d'objet JavaScript peuvent adopter une meilleure façon d'écrire, qui semble au moins plus concise.

 var student = {
        name: "xiao hong",
        age: 18,
        getName: function () {
            alert(this.name);
        }
    };

Inconvénients : Un inconvénient de la méthode ci-dessus est que lorsque vous utilisez la même interface pour créer de nombreux objets similaires, de nombreux codes en double seront générés. Cela devrait être facile à comprendre. Les fonctions (méthodes ou classes) sont généralement utilisées pour créer des méthodes publiques. Le processus de création d'objet ci-dessus n'a aucune ombre de fonctions, il n'y a donc pas de réutilisation.

Constructeur de type personnalisé :

Le constructeur peut être utilisé pour créer des objets de types spécifiques.

  function Student(name,age) {
         this.name = name;
         this.age = age;
         this.sayName = function () {
             alert(this.name);
         }
     }
     var p3 = new Student("ming", 20);
     var p4 = new Student("hong", 18);
     alert(p3 instanceof Student); 
    alert(p3.sayName==p4.sayName); //false

Inconvénient : L'inconvénient du constructeur personnalisé est que chaque objet va recréer sa propre méthode. En fait, les fonctions de ces méthodes sont les mêmes (comme sayName), mais elles ne sont pas les mêmes (p3. .sayName et p4.sayName ne sont pas égaux).

La combinaison d'un constructeur et d'un prototype :

     function Student(name, age, friends) {
         this.name = name;
         this.age = age;
         this.friends = friends;
     }
     Student.prototype = {
         constructor: Student,
         sayName: function () {
             alert(this.name);
         }
     };

Résumé : La combinaison d'un constructeur et d'un prototype est une méthode largement reconnue pour créer des types personnalisés. C'est également la meilleure méthode parmi les méthodes ci-dessus.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn