Créer des objets personnalisés
Il existe deux manières principales de créer des objets personnalisés en JavaScript : la méthode de prototypage et la méthode de fermeture.
Prototypage Façon
Avec cette méthode, les propriétés et méthodes de l'objet sont définies sur son prototype. L'exemple suivant crée un objet Shape et un objet Circle qui sous-classe la Shape :
function Shape(x, y) { this.x = x; this.y = y; } Shape.prototype.toString = function() { return 'Shape at ' + this.x + ', ' + this.y; }; function Circle(x, y, r) { Shape.call(this, x, y); // Invoke base class constructor this.r = r; } Circle.prototype = new Shape(); // Create prototype inheritance link Circle.prototype.toString = function() { return 'Circular ' + Shape.prototype.toString.call(this) + ' with radius ' + this.r; };
Closure Way
Cette méthode n'utilise pas l'héritage. Au lieu de cela, chaque instance a ses propres copies de propriétés et de méthodes.
function Shape(x, y) { var that = this; this.x = x; this.y = y; this.toString = function() { return 'Shape at ' + that.x + ', ' + that.y; }; } function Circle(x, y, r) { var that = this; Shape.call(this, x, y); // Invoke base class constructor this.r = r; var _baseToString = this.toString; this.toString = function() { return 'Circular ' + _baseToString.call(that) + ' with radius ' + that.r; }; };
Avantages et inconvénients
Mode de prototypage
Closure Way
Choisir le bon Méthode
Le choix dépend des exigences spécifiques du projet. Pour les hiérarchies d'objets volumineuses avec plusieurs niveaux d'héritage, le prototypage peut être préféré. Pour les objets simples et indépendants, le mode de fermeture est souvent plus pratique.
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!