Maison  >  Article  >  interface Web  >  Prototype d'attribut JavaScript pour ajouter des propriétés et des méthodes aux objets

Prototype d'attribut JavaScript pour ajouter des propriétés et des méthodes aux objets

黄舟
黄舟original
2017-11-04 10:27:242457parcourir

Définition et utilisation

L'attribut prototype vous donne la possibilité d'ajouter des propriétés et des méthodes à un objet.

Syntaxe

object.prototype.name=value

Exemple

Dans cet exemple, nous allons montrer comment utiliser l'attribut prototype pour ajouter des propriétés à un objet :

<script type="text/javascript">

function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}

var bill=new employee("Bill Gates","Engineer",1985);employee.prototype.salary=null;bill.salary=20000;

document.write(bill.salary);

</script>

Sortie :

20000

Le rôle de l'attribut prototype

Afin de résoudre le problème selon lequel les attributs ne peuvent pas être partagés entre les instances d'objet du constructeur, js fournit le prototype attribut.

Chaque type de données en js est un objet (sauf null et non défini), et chaque objet hérite d'un autre objet. Ce dernier est appelé un objet "prototype", et seulement null Sauf que ce n'est pas le cas. Je n'ai pas son propre objet prototype.

Toutes les propriétés et méthodes de l'objet prototype seront partagées par les instances d'objet.

Lorsqu'une instance d'objet est générée via un constructeur, le prototype de l'instance d'objet pointera vers l'attribut prototype du constructeur. Chaque constructeur possède un attribut prototype, qui est l'objet prototype de l'instance d'objet.

function Person(name,height){
this.name=name;
this.height=height;
} 
Person.prototype.hobby=function(){
return &#39;watching movies&#39;;
}
var boy=new Person(&#39;keith&#39;,180);
var girl=new Person(&#39;rascal&#39;,153); 
console.log(boy.name); //&#39;keith&#39;
console.log(girl.name); //&#39;rascal&#39;
console.log(boy.hobby===girl.hobby); //true

Dans le code ci-dessus, si la méthode hobby est placée sur l'objet prototype, alors les deux objets instance partagent la même méthode. Ce que j'espère que tout le monde peut comprendre, c'est que pour les constructeurs, le prototype est l'attribut du constructeur ; pour les instances d'objet, le prototype est l'objet prototype de l'instance d'objet. Le prototype est donc à la fois un attribut et un objet.

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