[Javascript] Portées de variables

Fermé
Mihawk Messages postés 4311 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 15 oct. 2011 à 19:23
Bonjour à tous,

J'écris car j'ai remarqué un comportement bizarre dans Javascript, et je voulais savoir s'il était normal ou pas : en effet, on n'en parle nulle part, c'est bizarre !

Tout le monde connait la portée des variables : locale ou globale.

Dans un script, j'utilisais une variable globale qui stockait des propriétés nécessaires à divers endroits de mon site. Or, dans une fonction je faisais quelque chose du genre :

var maVariableLocale = maVariableGlobale ;

Or, je me suis rendu compte que, plus tard, quand je faisais par exemple :

maVariableLocale["nombre"] = 70;

Cela changeait également la donnée maVariableGlobale["nombre"]

Autrement dit, il y avait répercution de la locale à la globale, comme si elles étaient liées ! Je sais que ce principe existe en Java, mais je n'en avais jamais entendu parler en JS.

Quelqu'un peut-il me confirmer ce comportement ?!