


Une brève exploration des compétences JavaScript en matière de modèles d'héritage_javascript
Dans le vrai sens du terme, Javascript n'est pas un langage orienté objet et ne fournit pas de méthode d'héritage traditionnelle. Cependant, il fournit une méthode d'héritage prototype qui utilise les propriétés prototypes fournies par lui-même pour réaliser l'héritage. L'héritage prototypique Javascript est un sujet que l'on dit pourri, mais je n'ai jamais complètement compris ce problème. Aujourd'hui, j'ai pris le temps de relire les différentes méthodes d'héritage prototypique dans "Modèles Javascript". méthode d'héritage simple en JS Si vous avez des opinions différentes, veuillez nous faire part de vos suggestions.
L'héritage de chaîne de prototypes le plus basique ne sera pas répété ici, je parlerai principalement des autres modes d'héritage.
1. Emprunter l'héritage du constructeur
function Father (name) { this.name=name; } function Son (name) { Father.call(this,name); //在子类型中调用超类型的构造函数 this.age=15; } var me=new Son("Su");
Avantages : vous pouvez transmettre des paramètres pour les sous-types, tels que l'attribut name dans la figure.
Inconvénients : 1. La méthode est définie dans le constructeur et ne peut pas être réutilisée. 2. Les méthodes définies dans le prototype du supertype ne sont pas visibles pour les sous-types.
2. Héritage combiné (chaîne de prototypes complète et constructeur)
//超类型构造函数function Father (name) { this.name=name; this.famMember=[]; }//超类型构造函数原型方法 Father.prototype.sayName=function () { alert(this.name); }//子类型构造函数 function Son (name,age) { Father.call(this,name); //构造函数方法 this.age=age; } Son.prototype=new Father(); //重写子类型原型对象 Son.prototype.constructor=Son; //重写构造函数属性指向子类型 Son.prototype.sayAge=function () { alert(this.age); } //重写原型对象后再加入方法 var me=new Son("Su",15); me.famMember.push("dad","mom"); //子类型可以调用超类型构造函数内的方法var he=new Son("Li",14);alert(he.famMember); // []
Avantages : Différentes sous-classes peuvent avoir leurs propres propriétés ou utiliser les mêmes méthodes.
Inconvénients : cette méthode nécessite d'appeler le constructeur de supertype deux fois et la méthode d'attribut portant le même nom sera remplacée une fois.
3. Héritage prototypique (similaire à Object.create())
function object (o) { function F () {} F.prototype=o; return new F(); }var obj={}; //将obj对象传入作为新对象的原型。var me=object(obj);
L'utilisation de cette méthode d'héritage nécessite un objet comme objet prototype, donc les méthodes d'attribut de tous les sous-types qui en héritent sont communes.
ES5 standardise l'héritage prototypique via la nouvelle méthode Object.creatr().
4. Héritage parasite (héritage prototypique où des méthodes privées peuvent être définies)
function object (o) { function F () {} F.prototype=o; return new F(); } var obj={}; //将obj对象传入作为新对象的原型。到这里都与原型式继承相同function creObj(o) { var clone=object(obj); clone.sayHi=function () { alert("Hi"); };return clone; } var me=creObj(obj);
Avantages : Cette méthode compense les lacunes de l'héritage prototypique avec uniquement des méthodes de propriété publique, permettant aux sous-types d'avoir des méthodes de propriété privée.
5. Héritage combiné parasite
function inherit (father,son) { var pro=Object(father.prototype); //创建超类型原型对象的副本 pro.constructor=son; son.prototype=pro; //将副本作为子类型的原型对象 }
Cette méthode est utilisée pour compenser le problème de couverture des méthodes d'attributs dans l'héritage combiné.
Utilisez le code ci-dessus pour remplacer le code Son.prototype=new Father(); De cette façon, le constructeur du type parent ne doit être appelé qu'une seule fois, évitant ainsi la création de méthodes d'attributs redondantes et inutiles et gardant la chaîne de prototypes inchangée. Il s'agit d'une méthode d'héritage de type référence idéale.
Je vais vous donner une introduction approximative au mode d'héritage js. Je pense que cela vous sera utile. Pour plus d'informations, veuillez continuer à prêter attention au site Web de Script House.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

Tirez parti de jQuery pour les dispositions de page Web sans effort: 8 plugins essentiels JQuery simplifie considérablement la mise en page de la page Web. Cet article met en évidence huit puissants plugins jQuery qui rationalisent le processus, particulièrement utile pour la création de sites Web manuels

Vous voici donc, prêt à tout savoir sur cette chose appelée Ajax. Mais qu'est-ce que c'est exactement? Le terme Ajax fait référence à un regroupement lâche de technologies utilisées pour créer un contenu Web interactif dynamique. Le terme Ajax, inventé à l'origine par Jesse J

10 plugins de jeu JQuery amusants pour rendre votre site Web plus attrayant et améliorer l'adhérence des utilisateurs! Bien que Flash soit toujours le meilleur logiciel pour développer des jeux Web occasionnels, JQuery peut également créer des effets surprenants, et bien qu'il ne soit pas comparable aux jeux Flash Pure Action, dans certains cas, vous pouvez également vous amuser inattendu dans votre navigateur. jeu jquery tic toe Le "Hello World" de la programmation de jeux a désormais une version jQuery. Code source JQUERY Crazy Word Composition Game Il s'agit d'un jeu de remplissage, et il peut produire des résultats étranges en raison de ne pas connaître le contexte du mot. Code source Jeu de balayage de la mine jQuery

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

Ce tutoriel montre comment créer un effet de fond de parallaxe captivant à l'aide de jQuery. Nous allons construire une bannière d'en-tête avec des images en couches qui créent une profondeur visuelle étonnante. Le plugin mis à jour fonctionne avec jQuery 1.6.4 et plus tard. Télécharger le

Ce didacticiel montre la création de boîtes de page dynamiques chargées via AJAX, permettant un actualisation instantanée sans rechargement de page pleine. Il exploite JQuery et JavaScript. Considérez-le comme un chargeur de boîtes de contenu de style Facebook personnalisé. Concepts clés: Ajax et jQuery

Cette bibliothèque JavaScript exploite la propriété Window.Name pour gérer les données de session sans compter sur les cookies. Il offre une solution robuste pour stocker et récupérer des variables de session à travers les navigateurs. La bibliothèque fournit trois méthodes de base: Session
