Maison >interface Web >js tutoriel >Comment js crée des objets et ses caractéristiques
Il existe de nombreuses façons de créer des objets en js. Chaque méthode a ses propres avantages et inconvénients, il est donc très important de choisir une manière appropriée de créer des objets. Le contenu suivant présente plusieurs façons de créer des objets en js.
1. Modèle d'usine
function createPerson(name){ //1、原料 var obj=new Object(); //2、加工 obj.name=name; obj.showName=function(){ alert(this.name); } //3、出场 return obj; } var p1=createPerson('小米'); p1.showName();
Avantages : Résoudre le problème de la création d'objets similaires
Inconvénients : Vous ne pouvez pas connaître le type d'un objet
2. Constructeur
function CreatePerson(name){ this.name=name; this.showName=function(){ alert(this.name); } } var p1=new CreatePerson('小米');
Avantages : Certaines instances peuvent être représentées comme un type spécifique
Inconvénients : La méthode sera recréée sur chaque instance Plus de
3 . Prototype
function Person(){} Person.prototype.name="小米"; Person.prototype.showName=function(){ alert(this.name); } var p1=new Person(); p1.showName();
Avantages : Les propriétés et méthodes sont définies sur le prototype, chaque instance peut donc partager des propriétés et des méthodes
Inconvénients : Les propriétés des instances ne peuvent pas être privatisées
4. Mixte (constructeur + prototype)
function CreatePerson(name){ this.name=name; } Create.prototype.showName=function(){ alert(this.name); } var p1=new CreatePerson('小米'); p1.showName(); var p2=new CreatePerson('小米'); p2.showName(); alert(p1.showName==p2.showName);//true;原因:都是在原型下面,在内存中只存在一份,地址相同
Les constructeurs sont utilisés pour définir des propriétés, et les prototypes sont utilisés pour définir des méthodes et des propriétés partagées.
5. Littéral
person={ name:"小米", age:23 };
Recommandations associées :
Exemple d'écriture JS de création d'un objet
Description détaillée des différentes méthodes de création d'objets js
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!