Javascript peut-il définir des méthodes d'instance ?

青灯夜游
Libérer: 2021-11-22 14:03:18
original
1763 Les gens l'ont consulté

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.

Javascript peut-il définir des méthodes d'instance ?

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion
.

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
Copier après la connexion

* 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!