Maison > Article > interface Web > Prototype vs constructeur : quelle méthode règne en maître pour définir les méthodes de classe ?
Avantages de l'approche prototype par rapport au constructeur
Lors de la définition de méthodes pour une classe, il existe deux approches courantes : utiliser le constructeur ou le prototype. Les deux ont leurs avantages et leurs inconvénients.
Approche Constructeur
L'approche Constructeur définit les méthodes directement dans la fonction constructeur de la classe :
var Class = function () { this.calc = function (a, b) { return a + b; }; };
Approche Prototype
L'approche Prototype définit les méthodes comme des propriétés de la classe. prototype :
var Class = function () {}; Class.prototype.calc = function (a, b) { return a + b; };
Avantages de l'approche prototype
Inconvénients du prototype Approche
Littéral de fonction vs définition de fonction
Le choix entre les littéraux de fonction et les définitions de fonctions sont une question de préférence. Les littéraux de fonction hissent la déclaration de fonction en haut de la portée :
var Class = function () {};
Les définitions de fonctions hissent la déclaration de variable, mais pas l'affectation :
function Class () {};
La principale différence survient lorsque la fonction est appelé avant d'être attribué. En utilisant un littéral de fonction, la fonction est disponible avant l'affectation, alors qu'en utilisant une définition de fonction, elle ne l'est pas.
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!