Maison interface Web js tutoriel Quelles fonctions new() implémente-t-il dans JS ?

Quelles fonctions new() implémente-t-il dans JS ?

Apr 27, 2018 pm 05:12 PM
javascript 功能 Lequel

Cette fois, je vais vous montrer quelles fonctions new() dans JS implémentent ? , quelles sont les précautions lors de l'utilisation de new() en JS Ce qui suit est un cas pratique, jetons un coup d'oeil.

Préface

Comme d'autres langages de haut niveau, javascript a également un nouvel opérateur, on sait que l'opérateur new est utilisé pour instancier une classe et allouer un objet instance en mémoire. Mais en JavaScript, tout est un objet. Pourquoi devons-nous utiliser new pour générer des objets ? Cet article vous amènera à explorer le mystère du new en javascript...

Pour créer une nouvelle instance de Person, vous devez utiliser l'opérateur new.

Appeler le constructeur de cette manière passera en fait par les 4 étapes suivantes :

(1) Créer un nouvel objet

;

(2) Attribuez la portée du constructeur au nouvel objet (pour que cela pointe vers le nouvel objet)

(3) Exécutez le code dans le constructeur (ajoutez des attributs au nouvel objet);

(4) Renvoie un nouvel objet.

nouvel opérateur

Après l'introduction des concepts de base ci-dessus, et l'ajout du nouvel opérateur, nous pouvons compléter le traditionnel Objet -orienté classe + nouvelle méthode crée des objets En JavaScript, nous appelons cette méthode pseudoclassique.

Sur la base de l'exemple ci-dessus, nous exécutons le code suivant

var obj = new Base();
Copier après la connexion

Quel est le résultat de ce code ? Le modèle objet que nous voyons dans le moteur Javascript est :

Que fait exactement le nouvel opérateur ? C’est en fait très simple, il fait trois choses.

var obj = {};
obj.proto = Base.prototype;
Base.call(obj);
Copier après la connexion

Dans la première ligne, nous créons un objet vide obj

Dans la deuxième ligne, nous pointons le membre proto de cet objet vide vers l'objet membre prototype de l'objet fonction de base

Dans la troisième ligne, nous remplaçons le pointeur this de l'objet fonction Base par obj, puis appelons la fonction Base. Nous attribuons donc une variable membre id à l'objet obj. La valeur de cette variable membre est "base. ". À propos de l'utilisation de la fonction d'appel.

Quel sera l'effet si nous ajoutons quelques fonctions à l'objet Base.prototype ?

Par exemple, le code est le suivant :

Base.prototype.toString = function() {
 return this.id;
}
Copier après la connexion

Puis quand on utilise new pour créer un nouvel objet, selon les caractéristiques de proto, le toString La méthode peut également créer de nouveaux objets. La méthode est accessible. On voit donc : Dans le constructeur

, nous définissons les variables membres de la 'classe' (par exemple : id dans l'exemple), et dans le prototype d'objet constructeur, nous définissons les méthodes publiques de la 'classe' '. Par conséquent, les effets des classes et de l'instanciation de classe sont simulés via des objets de fonction, des membres de proto et prototypes spécifiques à Javascript et de nouveaux opérateurs.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée des étapes d'implémentation d'Observer dans Vue

jQuery implémente le téléchargement d'images avec aperçu local fonction

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!

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

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Quelles sont les fonctions de l'application Doubao ? Quelles sont les fonctions de l'application Doubao ? Mar 01, 2024 pm 10:04 PM

Quelles sont les fonctions de l'application Doubao ?

La différence entre vivox100s et x100 : comparaison des performances et analyse des fonctions La différence entre vivox100s et x100 : comparaison des performances et analyse des fonctions Mar 23, 2024 pm 10:27 PM

La différence entre vivox100s et x100 : comparaison des performances et analyse des fonctions

Qu'est-ce que Discuz ? Définition et introduction aux fonctions de Discuz Qu'est-ce que Discuz ? Définition et introduction aux fonctions de Discuz Mar 03, 2024 am 10:33 AM

Qu'est-ce que Discuz ? Définition et introduction aux fonctions de Discuz

Qu'est-ce que l'auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ? Qu'est-ce que l'auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ? Mar 21, 2024 pm 08:21 PM

Qu'est-ce que l'auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ?

Astuces PHP : implémentez rapidement la fonction de retour à la page précédente Astuces PHP : implémentez rapidement la fonction de retour à la page précédente Mar 09, 2024 am 08:21 AM

Astuces PHP : implémentez rapidement la fonction de retour à la page précédente

Quelles sont les fonctions du logiciel de gestion de compte Xiaohongshu ? Comment gérer un compte Xiaohongshu ? Quelles sont les fonctions du logiciel de gestion de compte Xiaohongshu ? Comment gérer un compte Xiaohongshu ? Mar 21, 2024 pm 04:16 PM

Quelles sont les fonctions du logiciel de gestion de compte Xiaohongshu ? Comment gérer un compte Xiaohongshu ?

Explication détaillée des fonctions et fonctions de GDM sous Linux Explication détaillée des fonctions et fonctions de GDM sous Linux Mar 01, 2024 pm 04:18 PM

Explication détaillée des fonctions et fonctions de GDM sous Linux

A quoi sert PHP ? Explorez le rôle et les fonctions de PHP A quoi sert PHP ? Explorez le rôle et les fonctions de PHP Mar 24, 2024 am 11:39 AM

A quoi sert PHP ? Explorez le rôle et les fonctions de PHP

See all articles