Bonjour � tous :D,
Je voudrais savoir, pour quelle raison la d�claration de variables globales en javascript est peu appr�ci�e, d'apr�s les echos.:calim2:
Merci d'avance pour vos r�ponses :ccool:.
Version imprimable
Bonjour � tous :D,
Je voudrais savoir, pour quelle raison la d�claration de variables globales en javascript est peu appr�ci�e, d'apr�s les echos.:calim2:
Merci d'avance pour vos r�ponses :ccool:.
C'est � cause, notamment, de ce qui est expliqu� l� : FAQ : Pourquoi faut-il toujours d�clarer ses variables ?
Pour r�sumer, quand tu d�clares une variables sans le mot cl� "var", elle devient une propri�t� de l'objet implicite : window. Comme Javascript est l'impl�mentation de la norme ECMAScript et que chaque navigateur � sa propre impl�mentation, il faut �tre vigilent. Surtout avec les anciennes version d'IE comme c'est bien expliqu� dans le lien ci-dessus.
Comme les variables partagent le m�me namespace global (window) si tu as plusieurs scripts que tu ne maitrises pas (d'autres auteurs), ceux-ci peuvent avoir des "variables globales" du m�me nom, source d'erreur dans l'ex�cution des scripts de ta page.
Pour �tre propre dans la d�claration, utiliser �a : FAQ : Comment cr�er une variable globale dans une fonction ?
Mais je pense que la meilleure d�marche � utiliser est "d'englober ton code" dans une fonction qui retourne un objet qui contient les fonctions/variables qui ont besoin d'�tre utilis�s � l'ext�rieur de ce module. Un peu � la m�thode des "modules pattern" qu'utilisent les librairies externes javascript (jquery etc)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var MON_MODULE = (function() { var ma_var_publique = 10; return { // une fonction qui peut accéder à ma_var_publique à l'extérieur du module get_var_publique: function() { return ma_var_publique; } }; })(); // Pour accéder à ma_var_publique à l'extérieur du module : alert(MON_MODULE.get_var_publique());
Merci pour la r�ponse, est que c'est vraiment la seule raison?:roll:
heu il y a deux raison expos�es ci dessus ...
Si tu veux plus de d�tail, je te conseille de lire des articles int�ressants de la part des "mentors" de Javascript.
Par exemple l'article : Douglas Crockford - Global variables are evil, qui explique parfaitement pourquoi il faut �tre vigilant avec.
Ou de ce m�me auteur, JSLint - outil d'analyse de code JS d�tecte ces variables (entre beaucoup d'autres choses).
C'est vrai SpaceFrog, desol�, je me suis mal exprim�, je voulais dire plut�t Est-ce qu'il y a que �a comme raisons".:lol:
Kaamo, merci beaucoup pour ces r�f�rences, je vais bouquiner �a. :ccool: