introduire
Le prototype fait référence au type d'objets créés avec des instances de prototype et à créer de nouveaux objets en copie ces prototypes.
texte
Pour le mode Prototype, nous pouvons utiliser la fonctionnalité d'hérédité prototype unique de JavaScript pour créer des objets, c'est-à-dire qu'un objet est créé comme la valeur d'attribut prototype d'un autre objet. L'objet prototype lui-même utilise efficacement les objets créés par chaque constructeur. Par exemple, si un prototype de constructeur contient un attribut de nom (voir l'exemple ci-dessous), les objets créés via ce constructeur auront cet attribut.
En regardant la définition des modèles de prototypes dans la littérature existante, il n'y a pas de javascript. Vous constaterez peut-être que de nombreuses explications concernent les classes, mais la réalité est que JavaScript basé sur l'héritage du prototype évite complètement le concept de classe. Nous copie simplement l'objet existant pour créer l'objet.
Le véritable prototype héritage est proposé comme la dernière version de la norme ECMAScript5. La méthode objet.Create est utilisée pour créer un tel objet. Cette méthode crée un objet spécifié. Le prototype de son objet a un objet spécifié (c'est-à-dire le premier objet de paramètre transmis par la méthode), et peut également contenir d'autres attributs spécifiés facultatifs. Par exemple, object.create (prototype, optionalScriptorObjects), vous pouvez également voir cette utilisation dans l'exemple suivant:
La copie de code est la suivante:
// parce que ce n'est pas un constructeur, il n'a pas besoin d'être capitalisé
var Somecar = {
lecteur: function () {},
Nom: 'Mazda 3'
};
// Créer une nouvelle voiture avec objet.Create x
var autre autrecar = object.create (Somecar);
un autrecar.name = 'Toyota Kami';
Object.Create vous fait hériter directement à partir d'autres objets. En utilisant le deuxième paramètre de cette méthode, vous pouvez initialiser des propriétés supplémentaires. Par exemple:
La copie de code est la suivante:
Var Véhicule = {
getModel: function () {
Console.log ('Le moule du véhicule est:' + this.model);
}
};
var car = object.create (véhicule, {
'identifiant': {
valeur: my_global.nextid (),
Énumérable: true // par défaut par défaut: faux, configurable: false
},
'modèle': {
Valeur: «Ford»,
Énumérable: vrai
}
});
Ici, vous pouvez utiliser l'objet littéral pour passer dans le deuxième paramètre de l'objet. Il vous permet de définir les propriétés des propriétés telles que l'énumérable, le scénariste ou configurable.
Si vous souhaitez implémenter le mode Prototype vous-même, au lieu d'utiliser OBJECT. Créez directement. Vous pouvez utiliser du code comme ce qui suit pour implémenter l'exemple ci-dessus:
La copie de code est la suivante:
var véhiculeprototype = {
init: fonction (carmodel) {
this.model = carmodel;
},
getModel: function () {
Console.log ('Le moule du véhicule est:' + this.model);
}
};
véhicule de fonction (modèle) {
fonction f () {};
F.prototype = véhiculepototype;
var f = new f ();
F.Init (modèle);
retour f;
}
var car = véhicule ('Ford Escort');
car.getModel ();
Résumer
L'utilisation du mode prototype dans JavaScript est tout simplement omniprésente. De nombreux autres modes sont également basés sur le prototype, donc je ne dirai pas grand-chose. Ce à quoi vous devez faire attention ici, c'est le problème de la copie superficielle et de la copie profonde pour éviter les problèmes de citation.