Prototype vs « ceci » en JavaScript
En JavaScript, les classes sont définies via des fonctions qui servent de constructeurs. Cependant, il existe des différences dans la façon dont les propriétés et les méthodes sont définies au sein de ces fonctions.
Utiliser 'this'
Lorsqu'une méthode est définie directement dans une fonction constructeur, comme dans l'exemple suivant :
var A = function () { this.x = function () { // do something }; };
cela fait référence à l'instance nouvellement créée de la classe. Dans ce cas, A() crée une instance et définit sa propriété x sur la fonction définie.
Utilisation d'un prototype
En revanche, lorsqu'une méthode est définie sur le propriété prototype de la fonction constructeur :
var A = function () { }; A.prototype.x = function () { // do something };
prototype permet à plusieurs instances de la même classe de partager des méthodes et des propriétés. L'attribution d'une fonction à la propriété prototype signifie que toutes les instances de la classe hériteront de cette méthode.
Différences clés
Quand utiliser chaque approche
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!