|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
![]() Pour faire suite à Trois fondamentaux de JavaScript, Jean-Pierre Vincent vous propose un nouvel article : Usage avancé des fonctions JavaScript. Citation:
Usage avancé des fonctions JavaScriptN'hésitez pas à faire part de vos remarques, commentaires et / ou encouragements à l'auteur. à lui !
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
30
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Développeur informatique Inscription : février 2006 Messages : 3 563 ![]() |
encore un très bon article :-)
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) |
|
|
00
|
|
|
#3 | ||
|
Membre expérimenté
![]() Inscription : juillet 2010 Messages : 401 ![]() |
Ce qui suit n'est pas une critique sur l'article lui même mais une réflexion générale :
Le problème , comme pour les pseudo "classes" en javascript, est que les constructions et structures des autres langages "objets" sont justes mimées en ECMASCRIPT 3.X. C'est en fait l'une des conséquence du pattern "prototype" utilisé pour générer des objets en javascript. Ce qui signifie que la classe "statique" ne l'est que pour l'auteur du script , il n'y a rien de contraignant pour un "client" du script puisque qu'on pourra toujours modifier l'objet de départ. En gros c'est comme si on rajoutait dans le script en commentaire " cette classe est statique " , mais rien n'existe pour obliger le client ( qui ne touche pas au script de départ ) à se servir de cette classe "statique" d'une manière strictement statique. C'est bien la différence entre javascript , et d'autres langages comme java ou php ou l'on peut contraindre la manière d'utiliser un objet tant le client de l'objet ne touche pas à la classe de départ. Au finalement tout se passe dans la tête de l'auteur du script et rien ne peut être véritablement formalisé strictement. Ma remarque ne s'applique bien sur pas à ECMASCRIPT 5 ou l'on peut "freezer" un objet , formalisant donc une configuration particulière. un petit exemple : on peut appelé un objet défini d'au moins 3 manière : Code :
avec des résultats complétement différent. comment savoir de quelle manière appeller l'object myClass de la bonne manière sans une indication de la bonne manière de l'appeler ? en java je n'ai pas le choix je dois faire Cependant je connais avec certitude le résultat de mon instruction. |
||
|
|
00
|
|
|
#4 | ||||||
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
Un article très intéressant , encore une fois !
La partie sur les fonctions anonyme de l'évènement onload, est le plus important je pense. Même après des années de développement , il m'arrive de me faire encore avoir. Difficile de comprendre par soi même ces comportements, pour un débutant, sans un bon tuto! A noté qu'il y'a d'autres moyens similaire de faire ceci. Dans l'approche d'une boucle, un forEach aurait eu le même effet. L'utilisation du currying aussi, comme indiqué dans l'article , qui est maintenant standardisé via la fonction bind de l'objet Function. La plus part des librairies inclue ces fonctionnabilité, qui au final ce base toute sur une porté alternative... Il existe une autre approche encore très mal supporté. Il s'agit du mot clé let. Let n'agit non pas en redéfinissant la variable, mais en n'en créant une nouvelle, du même non, qui seulement applique au bloque courant. du coup l'exemple devienderait Code :
Comme j'aime chipoter, l'exemple onDOMEvent n' est pas le plus judicieux. Aucune variable n'est déclaré dans la porté de la fonction auto-executante. Du coup , pas besoin de passer par elle. Un simple teste conditionnelle aurait pu faire l'affaire. Même si bien sur l’intérêt n'étais là.... Concernant le design singleton, j'aurais bien des petit hack à proposé, qui reste du bidouillage tout de même. Le premier , inclure dans le constructeur un paramétre privé, déclaré dans la porté de la fonction auto-executé. Par exemple Code :
Code :
|
||||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Alex Pl Inscription : novembre 2009 Messages : 3 ![]() |
décidément, developpez.net, c'est de la balle.
On demande plus de ces types d'articles
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com