Javascript peut définir des méthodes d'instance.Méthodes : 1. Utilisez le prototype de référence de prototype d'objet JavaScript pour implémenter les méthodes d'instance ; 2. Définissez les méthodes directement sur les instances d'objet ; 3. Définissez les méthodes d'instance via ce pointeur.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
1. Utilisez le prototype de référence de prototype d'objet JavaScript pour implémenter les méthodes d'instance
var BaseClass = function() {}; BaseClass.prototype.method1 = function(){ alert(' This is a instance method '); } var instance1 = new BaseClass(); instance1.method1(); //This is a instance method
2 Définissez les méthodes (objets) directement sur l'instance
var BaseClass = function() {}; var instance1 = new BaseClass(); instance1.method1 = function(){ alert(' This is a instance method too '); } instance1.method1();//This is a instance method too
3. Définissez les méthodes d'instance (variables) via ce pointeur
var BaseClass = function() { this.method1 = function(){ alert(' Defined by the "this" instance method'); } }; var instance1 = new BaseClass(); instance1.method1();//Defined by the "this" instance method
Donc après avoir défini la même méthode d'instance sur l'instance, la référence du prototype et "this" en même temps, laquelle sera appelée en premier par l'instance ?
var BaseClass = function() { this.method1 = function(){ alert(' Defined by the "this" in the instance method'); } }; var instance1 = new BaseClass(); instance1.method1 = function(){ alert(' Defined directly in the instance method'); } BaseClass.prototype.method1 = function(){ alert(' Defined by the prototype instance method '); } instance1.method1();//Defined directly in the instance method
* En lançant le test de suivi des résultats, nous pouvons constater que la priorité des variables directement touchées sur l'instance est supérieure à celle définie sur "this"
* * Et la priorité définie sur "this" ; est supérieur aux variables définies par le prototype ;
* Autrement dit, les variables définies directement sur l'instance écraseront les variables définies sur "ceci" et le prototype, et les variables définies sur "ceci" écraseront les variables définies par le type de prototype.
【Apprentissage recommandé : Tutoriel avancé javascript】
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!