Grâce à la flexibilité de JavaScript, chacun peut écrire du code selon ses propres habitudes. Il existe des méthodes de programmation fonctionnelle, ainsi que des littéraux d'objet qui sont largement utilisés aujourd'hui. En raison de l'émergence de la programmation orientée objet, la programmation fonctionnelle que JavaScript vient de faire. a également progressivement évolué vers la programmation en classe. Je vais maintenant expliquer brièvement plusieurs habitudes de programmation familières :
1. Objet littéral :
Voici le contenu cité : var personne = { |
Une méthode de programmation avec des caractéristiques JavaScript. Elle contient le nom de l'attribut, les méthodes setName et getName en unités de classe. Il est relativement simple d'appeler la méthode person.setname('R'). les attributs et les méthodes de la personne ne sont pas tous privés, peuvent être appelés.
2.Mode d'appel du constructeur de prototype
Voici le contenu cité : var Personne = fonction(){ |
3. Utilisez des fonctions anonymes pour la programmation fonctionnelle
Voici le contenu cité : (fonction(){ |
L'un des plus grands avantages de l'émergence des classes est qu'elle réduit l'apparition de variables globales. Mais si vous êtes encore habitué à la programmation fonctionnelle, cela n'a pas d'importance tant que vous créez une fonction anonyme et effectuez une fermeture. effectuez une programmation fonctionnelle. Pas besoin de vous soucier de l'apparence des variables globales. Comme vous pouvez le voir ci-dessus, le nom de la variable ne peut pas être appelé en dehors de la fonction anonyme. Vous pouvez ensuite utiliser des variables externes pour appeler des fonctions ou des variables internes. créer des variables privées et des méthodes privées.
4. Programmation de classe (je ne sais pas comment l'appeler)
Voici le contenu cité : var personne = fonction(){ |
Il est très similaire aux littéraux d'objet, sauf que cela est laissé de côté et que les méthodes et propriétés peuvent être rendues privées. L'appel de méthodes est fondamentalement le même que celui des littéraux d'objet.
5.Chaîne de méthodes
Voici le contenu cité : var Personne = fonction(){ |
jQuery est la bibliothèque de chaînage de méthodes la plus classique. Si vous ne comprenez toujours pas ce qu'est le chaînage de méthodes, jetez un œil à cet exemple :
Voici le contenu cité : var p = nouvelle personne (); |
Ce sont les méthodes que je connais le mieux. Chacun a ses propres caractéristiques, il existe donc une infinité de méthodes. Cependant, j'aimerais explorer les questions suivantes :
1. À propos de ce pointeur
Ceci est utilisé lors de la création de plusieurs catégories, mais quel est son rôle ? En fait, cela joue un rôle important dans la réutilisation et l'héritage. Regardons d'abord un exemple d'héritage :
Créez d’abord la classe Person :
Voici le contenu cité : var Personne = fonction(){ |
Créez ensuite une classe Children et intégrez toutes les méthodes et propriétés de Person :
Voici le contenu cité : var Enfants = fonction (âge) { |
Il s'agit d'un héritage, puis nous examinons une simple réutilisation de fonction :
Voici le contenu cité : var SetColor = fonction(){ Après avoir vu la fonction de ceci, je dois en avoir une nouvelle compréhension. Maintenant, j'ai une question, à savoir si cela doit être utilisé ou non. Regardons un exemple simple : var setColor = { |
Dans une seule classe, cela pointe vers deux endroits, ce qui rend parfois les gens confus. Les gens qui viennent d'apprendre seront confus par cela et changeront légèrement la façon d'écrire du code :
Voici le contenu cité : var setColor = { |
De cette façon, le code peut être plus clair.Par conséquent, lors de l'écriture du code, vous devez réfléchir à son utilisation future et à sa réutilisation. S'il est clair que l'héritage ou la réutilisation ne doivent pas être effectués, je pense personnellement que vous devriez le faire. évitez de l'utiliser autant que possible. Il existe un autre problème plus courant. Il est le suivant :
Voici le contenu cité : var Personne = fonction(){ |
Comme mentionné précédemment, s'il n'est pas écrit sous la forme var p = new Person();p.setName('tom'); cela pointera directement vers Person.prototypel. Cette erreur ne se produira pas lors de la compilation ou de l'exécution. une erreur sera signalée. Parfois, cela provoquera des maux de tête. Ainsi, lors de l'écriture du code, je choisis toujours cela avec soin.
2. Encapsulation de classe
En Java, les méthodes ou propriétés d'une classe peuvent être définies comme privées, afin d'éviter les appels externes, mais JavaScript ne dispose pas d'un tel paramètre. Jetez un œil au code suivant :.
Voici le contenu cité : var personne = { |
Dans cette classe, il y a un total de 2 méthodes, à savoir init et setName, et nous voulons uniquement exécuter setName depuis init, ou diverses méthodes qui y seront ajoutées à l'avenir, et ne voulons pas apparaître :
personne.setName('tom'); //tom
Appelez directement la méthode setName Pour être précis, vous souhaitez que la méthode setName soit privée et que l'attribut name soit privé. Cela empêche d'autres programmeurs d'appeler des méthodes que vous ne souhaitez pas appeler lors de l'utilisation de votre classe.
Alors, comment devrions-nous bien encapsuler les classes ? Essayez une autre méthode de programmation et voyez comment se déroule la version révisée :
Voici le contenu cité : var personne = fonction(){ |
De cette manière, les méthodes et propriétés initialement destinées à être privatisées peuvent être privatisées et ne peuvent pas être appelées directement de l'extérieur. Ceci est également réalisé en utilisant des fermetures. Cependant, cette méthode de programmation n'est pas facile à lire, surtout pour les novices. Il sera très difficile de voir ce type de code, et il prendra également plus de mémoire que les codes ordinaires.
D'accord, c'est tout pour l'instant. Je parlerai des fermetures et de la portée la prochaine fois que j'aurai le temps.