Maison  >  Article  >  interface Web  >  Explication détaillée des trois types de codes de méthode pour les objets personnalisés javascript

Explication détaillée des trois types de codes de méthode pour les objets personnalisés javascript

伊谢尔伦
伊谢尔伦original
2017-07-21 13:20:122010parcourir

1) Trois types de méthodes peuvent être définies pour les objets en JS : les méthodes privées, les méthodes d'instance et les méthodes de classe, similaires à Java :

Les méthodes privées ne peuvent être utilisées qu'à l'intérieur de l'objet

Les méthodes d'instance ne peuvent être utilisées qu'après l'instanciation de l'objet.

Les méthodes de classe peuvent être utilisées directement via le nom de classe

Remarque : la définition de méthode ne peut pas être effectuée via la méthode d'index mentionnée ci-dessus.

2) Définir des méthodes privées

Les méthodes privées doivent être définies dans le corps du constructeur et ne peuvent être utilisées que dans le corps du constructeur.

Format de syntaxe : function methodName(arg1,…,argN){ }

Par exemple :

function User(name){
 
this.name=name;
 
function getNameLength(nameStr){
 
return nameStr.length;
 
}
 
this.nameLength=getNameLength(this.name);
 
}

3) Définir les méthodes d'instance Actuellement, il existe deux manières. :

méthode prototype, utilisée en dehors du constructeur, format de syntaxe :

functionName.prototype.methodName=method;

ou

functionName.prototype methodName. =function(arg1,…,argN){};

cette méthode, utilisée à l'intérieur du constructeur, format de syntaxe :

this.methodName=method;

ou

this.methodName=function(arg1,…,argN){};

Dans la description de la syntaxe ci-dessus, la méthode est une méthode externe qui existe déjà et la méthode de l'objet à être défini. Cela signifie attribuer une méthode externe directement à une méthode de l’objet.

Définir des méthodes objet sous la forme de function(arg1,…,argN){} est ce que les développeurs doivent maîtriser.

Quelques exemples de définition de méthodes d'instance : Exemple 1

function User(name){
 
this.name=name;
 
this.getName=getUserName;
 
this.setName=setUserName;
 
}
 
function getUserName(){
 
return this.name;
 
}
 
Function setUserName(name){
 
this.name=name;
 
}

Quelques exemples de définition de méthodes d'instance : Exemple 2

function User(name){
 
this.name=name;
 
this.getName=function(){
 
return this.name;
 
};
 
this.setName=function(newName){
 
this.name=newName;
 
};
 
}

Quelques exemples de définition de méthodes d'instance : Exemples 3

function User(name){
 
this.name=name;
 
}
 
User.prototype.getName=getUserName;
 
User.prototype.setName=setUserName();
 
function getUserName(){
 
return this.name;
 
}
 
Function setUserName(name){
 
this.name=name;
 
}

Quelques exemples de définition de méthodes d'instance : Exemple 4

4) Définition de méthodes de classe

Les méthodes de classe doivent être définies en dehors du constructeur, et peuvent être directement passé par le constructeur. Référencez-le par son nom.

Format de syntaxe :

functionName.methodName=method;

ou

functionName.methodName=function(arg1,…,argN){};

Exemple :

function User(name){
 
this.name=name;
 
}
 
User.getMaxAge=getUserMaxAge;
 
function getUserMaxAge(){
 
return 200;
 
}

ou

User.getMaxAge=function(){return 200;};
alert(User.getMaxAge());

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