Maison interface Web js tutoriel Explication détaillée de la création de classes et des objets en Javascript

Explication détaillée de la création de classes et des objets en Javascript

May 31, 2017 am 10:05 AM

Il existe de nombreuses façons de créer des classes et des objets en utilisant Javascript. Listons-les maintenant : 1. Méthode de création originale, 2. Modèle de méthode d'usine, 3. Méthode de construction modèle, 4. Méthode de prototype dynamique. Examinons en détail les exemples ci-dessous

Nous allons maintenant résumer plusieurs façons de créer des classes et des objets en Javascript :

1. Méthode de création originale :

<script type="text/javascript">
  var person = new Object();
  person.name="Amy";
  person.sex="Woman";
  person.show=function(){
    document.write("name is: "+this.name+" ; sex is:"+this.sex);
  }
  person.show(); 
</script>
Copier après la connexion

. La méthode de création originale est difficile à accepter pour les personnes familiarisées avec Orienté objet. Ils ont toujours l'impression que l'encapsulation des attributs et méthodes n'est pas très serrée. basé sur la méthode "nom de l'objet" + ". ", indiquant que les propriétés et méthodes qui suivent le nom de l'objet sont des éléments appartenant à cet objet (par exemple : personne) est le résultat encapsulé. Vous pouvez continuer à ajouter des méthodes et des propriétés. , par exemple, ajoutez l'attribut age : person.age= 23;Cette méthode de création mettra les personnes familiarisées avec laprogrammation Java mal à l'aise. Nous pouvons "encapsuler" davantage la méthode de création d'origine, veuillez consulter l'étape suivante :

2. Modèle de méthode d'usine :

 <script type="text/javascript">
   function personFactory(name,age,sex){
     var ob=new Object();
     ob.name=name;
     ob.age=age;
     ob.sex=sex;
     ob.show=function(){
       document.write(ob.name+" "+ob.age+" "+ob.sex);
     }
     return ob;
   }
   var person=personFactory("Amy",21,"Woman");
   person.show();
 </script>
Copier après la connexion

Le modèle de méthode d'usine ressemble plus à une classe personFactory encapsule. la méthode de création d'origine et renvoie l'objet créé à la personneréférencevariable. La personne peut alors référencer l'objet créé, mais ce n'est pas encore parfait : à chaque fois que vous créez un objet. et utilisez l'objet pour appeler la méthode show(), une nouvelle fonction show() sera créée. Ils peuvent appeler la même méthode show, méthode d'optimisation. Le show est placé en dehors de l'usine, comme. suit :

 <script type="text/javascript">
   function show(){
     document.write(this.name+" "+this.age+" "+this.sex);
   }
   function personFactory(name,age,sex){
     var ob=new Object();
     ob.name=name;
     ob.age=age;
     ob.sex=sex;
     ob.show=show;
     return ob;
   }
   var person=personFactory("Amy",22,"Woman");
   person.show();
 </script>
Copier après la connexion

Fonctionnellement parlant, le code ci-dessus résout le problème de la réutilisation des fonctions, mais la méthode de présentation n'est pas comme créer un objet, et les personnes familiarisées avec Java se sentent toujours mal à l'aise. Veuillez consulter l'étape suivante :

3. Modèle de constructeur :

 <script type="text/javascript">
   function person(name,age,sex){
     this.name=name;
     this.age=age;
     this.sex=sex;
     this.show=function(){
       document.write(this.name+" "+this.age+" "+this.sex);
       document.write("<br>");
     }
   }
   var per=new person("Amy",22,"Woman");
   per.show();
 </script>
Copier après la connexion

La méthode de création du code ci-dessus est presque la même que la méthode de création des classes et des objets Java. Les propriétés de la classe sont encapsulées, puis utilisez le mot-clé new pour créer et renvoyer un objet. N'est-ce pas le processus de création de classes et d'objets en Java ? Oui, c'est ce processus, mais il peut également être optimisé. L'objet ainsi créé sera instantané lors de l'appel de la méthode show. Pour créer une fonction show indépendamment, peut-on créer une méthode commune à tous les objets ? Tout comme la méthode static dans les classes Java, tous les objets utilisent la même méthode statique, et la réponse est oui. Veuillez consulter l'étape suivante :

4. Méthode de prototype dynamique :

 <script type="text/javascript">
   function Person(name,age,sex){
     this.name=name;
     this.age=age;
     this.sex=sex;
     if(typeof Person.tag == "undefined"){
       Person.prototype.show=function(){
         document.write(this.name+" "+this.age+" "+this.sex);
         document.write("<br>");
       }
       Person.tag=true;
     }
   }
   var per=new Person("Peter",22,"Man");
   per.show();
 </script>
Copier après la connexion

Une petite astuce est utilisée ici Lorsque new est utilisé pour créer un objet. Le bloc de fonction Person sera exécuté. L'instruction de jugement if dans l'ordre est de haut en bas. Bien sûr, la variable tag n'est pas définie au début, donc le contenu du bloc d'instruction if est exécuté :

Person.prototype.show=function(){
 document.write(this.name+" "+this.age+" "+this.sex);
 document.write("<br>");
 }
Copier après la connexion

La signification de ce contenu est Créer une méthode show appartenant à la classe Person. Notez qu'il s'agit d'une méthode de classe, qui est équivalente à la méthode statique modifiée en Java, plutôt qu'une méthode unique. object De cette façon, tous les objets peuvent appeler la même méthode, et il n'est pas nécessaire de le faire. Ne serait-il pas préférable de créer votre propre fonction show lors de l'appel de méthodes sur différents objets, ce qui permet non seulement d'économiser de l'espace mais également du temps ? Laissez-moi vous expliquer ici, les propriétés et méthodes construites dans la méthode "nom de classe.prototype.property/method" sont équivalentes aux variables ou méthodes modifiées avec static en Java. Elles appartiennent à la classe entière, pas à un seul objet, c'est-à-dire. , tous les objets sont partagés.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

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)

Comment convertir le tableau de résultats d'une requête MySQL en objet ? Comment convertir le tableau de résultats d'une requête MySQL en objet ? Apr 29, 2024 pm 01:09 PM

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Quelle est la différence entre les tableaux et les objets en PHP ? Quelle est la différence entre les tableaux et les objets en PHP ? Apr 29, 2024 pm 02:39 PM

En PHP, un tableau est une séquence ordonnée et les éléments sont accessibles par index ; un objet est une entité avec des propriétés et des méthodes, créée via le mot-clé new. L'accès au tableau se fait via l'index, l'accès aux objets se fait via les propriétés/méthodes. Les valeurs du tableau sont transmises et les références d'objet sont transmises.

Qu'est-ce que l'objet Request en PHP ? Qu'est-ce que l'objet Request en PHP ? Feb 27, 2024 pm 09:06 PM

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ? Apr 19, 2024 pm 12:15 PM

En C++, il y a trois points à noter lorsqu'une fonction renvoie un objet : Le cycle de vie de l'objet est géré par l'appelant pour éviter les fuites mémoire. Évitez les pointeurs suspendus et assurez-vous que l'objet reste valide après le retour de la fonction en allouant dynamiquement de la mémoire ou en renvoyant l'objet lui-même. Le compilateur peut optimiser la génération de copie de l'objet renvoyé pour améliorer les performances, mais si l'objet est transmis par sémantique de valeur, aucune génération de copie n'est requise.

Comment les fonctions PHP renvoient-elles des objets ? Comment les fonctions PHP renvoient-elles des objets ? Apr 10, 2024 pm 03:18 PM

Les fonctions PHP peuvent encapsuler des données dans une structure personnalisée en renvoyant un objet à l'aide d'une instruction return suivie d'une instance d'objet. Syntaxe : functionget_object():object{}. Cela permet de créer des objets avec des propriétés et des méthodes personnalisées et de traiter les données sous forme d'objets.

'Introduction à la programmation orientée objet en PHP : du concept à la pratique' 'Introduction à la programmation orientée objet en PHP : du concept à la pratique' Feb 25, 2024 pm 09:04 PM

Qu'est-ce que la programmation orientée objet ? La programmation orientée objet (POO) est un paradigme de programmation qui résume les entités du monde réel en classes et utilise des objets pour représenter ces entités. Les classes définissent les propriétés et le comportement des objets, et les objets instancient les classes. Le principal avantage de la POO est qu’elle rend le code plus facile à comprendre, à maintenir et à réutiliser. Concepts de base de la POO Les principaux concepts de la POO incluent les classes, les objets, les propriétés et les méthodes. Une classe est le modèle d'un objet, qui définit ses propriétés et son comportement. Un objet est une instance d’une classe et possède toutes les propriétés et comportements de la classe. Les propriétés sont les caractéristiques d'un objet pouvant stocker des données. Les méthodes sont des fonctions d'un objet qui peuvent opérer sur les données de l'objet. Avantages de la POO Les principaux avantages de la POO sont les suivants : Réutilisabilité : la POO peut rendre le code plus

See all articles