Bonjour à tous,
Je voudrais savoir, pour quelle raison la déclaration de variables globales en javascript est peu appréciée, d'après les echos.
Merci d'avance pour vos réponses.
 Déclaration des variables globales en javascript non recommandée
 Déclaration des variables globales en javascript non recommandée
				
				
						
							
							
						
						
				Bonjour à tous,
Je voudrais savoir, pour quelle raison la déclaration de variables globales en javascript est peu appréciée, d'après les echos.
Merci d'avance pour vos réponses.
 
 
				
				
						
						
				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 javascript : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
				
				
						
						
				Merci pour la réponse, est que c'est vraiment la seule raison?
 
			
			






 
			
			 
  
  
  
 
 
  
  
 
 
			
			 
			
				
 
 
				
				
						
						
				heu il y a deux raison exposées ci dessus ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
 
 
				
				
						
						
				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".
Kaamo, merci beaucoup pour ces références, je vais bouquiner ça.
Partager