Maison > Article > interface Web > Analyse de l'utilisation de l'héritage du constructeur qui peut être utilisée dans les compétences js package_javascript
Les exemples de cet article décrivent l'utilisation de l'héritage de constructeur qui peut être utilisé dans l'encapsulation js. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Jetons d'abord un coup d'oeil au code suivant
Méthodes utilisées par la bibliothèque (YUI) :
var F = fonction(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Enfant;
Enfant.uber = Parent.prototype;
>
Il existe également une méthode d'héritage de copie, attribut copie :
Cette méthode est différente de la précédente. L'extension du prototype de l'enfant étant terminée, il n'est pas nécessaire de réinitialiser la propriété child.prototype.constructor car elle ne sera plus écrasée.
Par rapport à la méthode précédente, cette méthode est évidemment légèrement moins efficace. Car ce qui se fait ici, c'est copier les prototypes des sous-objets un par un. Plutôt qu'une simple requête en chaîne de prototype.
Cette méthode n'est applicable qu'aux objets contenant uniquement des types de données de base. Tous les types d'objets, y compris les fonctions et les tableaux, ne sont pas copiables et prennent uniquement en charge le passage de références.
var Forme = fonction(){}
var TwoDShape = fonction(){}
Shape.prototype.name = 'forme';
Shape.prototype.toString = function(){
renvoie this.name;
>
extend2(TwoDShape,Forme);
var t = new TwoDShape();
t.nom
//-->"forme"
t.toString();
//-->"forme"
TwoDShape.prototype.name = 'TwoDShape';
t.nom
//-->"Forme 2D"
t.toString();
//-->"Forme 2D"
TwoDShape.prototype.toString === Shape.prototype.toString
//-->vrai
TwoDShape.prototype.name === Shape.prototype.name
//-->faux
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.