Maison > interface Web > js tutoriel > Explication détaillée de l'utilisation du modèle de prototype Javascript Exemples_Compétences Javascript

Explication détaillée de l'utilisation du modèle de prototype Javascript Exemples_Compétences Javascript

WBOY
Libérer: 2016-05-16 15:56:38
original
1225 Les gens l'ont consulté

Les exemples de cet article décrivent l'utilisation du mode prototype JavaScript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Généralement, après avoir compris les inconvénients du modèle d'usine et du modèle de constructeur, vous saurez pourquoi un modèle de prototype est nécessaire

Définition du modèle de prototype i : chaque fonction possède un attribut de prototype, qui est un objet dont le but est de contenir des propriétés et des méthodes pouvant être partagées par toutes les instances d'un type spécifique. Par exemple, dans la méthode sayInformation() du modèle constructeur, si deux instances sont déclarées, la méthode sayInformation doit être construite deux fois, mais il n'est pas nécessaire de la déclarer deux fois. C'est pourquoi le modèle prototype apparaît (Nima, ces blogs. sur Internet, est-ce absurde ou est-ce facile à comprendre en lisant un livre), une fois que sayInformation() est déclaré en mode prototype, l'instance est partagée et il n'est pas nécessaire de la déclarer deux fois

function Person(){}
Person.prototype.name="jack";
Person.prototype.age=10;
Person.prototype.sayInformation=function()
{
  console.log("my name is"+this.name+" age is"+this.age);
}
var person1 = new Person();
person1.sayInformation();
console.info(person1.name);
//来自原型的属性name
person1.name="Greg";
//修改实例的name属性
console.info(person1.name);
//来自实例的属性name
delete person1.name ;
//来自实例的属性,这里删除的是实例的属性,但是原型的属性依然存在
console.info(person1.name);
//来自原型的属性name
var person2 = new Person();
person2.sayInformation();
console.info(person1.hasOwnProperty("name"));
//hasOwnProperty检查属性是属于实例还是原型中,如果是实例中就返回true
console.info(person1.name==person2.name);
console.info(person1.sayInformation==person2.sayInformation);
console.info(person1.constructor);
//指向person1的构造函数
//原型更加简便的写法
function Person2(){}
Person2.prototype={
  name:"jack",
  age:29,
  sayInformationfunction:function()
    {
      console.log("my name is"+this.name+" age is"+this.age);
    }
}
Copier après la connexion

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal