Les variables

Une variable est une donnée modifiable ; par opposition à une constante.

En JavaScript, contrairement à d'autres langages, une variable n'a pas un type de donnée déterminé. On peut affecter consécutivement à une variable des données de types différents. Si aucune donnée n'est affectée à une variable, son type est indéfini (undefined).

Déclaration d'une variable

Une variable interne est déclarée, soit explicitement - à l'aide du mot clé var - soit implicitement lors de sa première affectation. A noter qu'une déclaration de variable est une instruction.

Syntaxe :

var nomVar1 [ , nomVar2 ]... ; ou
[var] instruction d'affectation ;

Instruction d'affectation : Sera définie dans le chapitre correspondant.

Exemple 1 :

Cette déclaration réserve un emplacement en mémoire pour la variable, lui donne un nom permettant de l'identifier par la suite mais ne lui donne aucune valeur. Si on tente d'utiliser cette variable elle est considérée comme déclarée mais non définie (undefined) :
var maVariable;

Exemple 2 :

Cette déclaration réserve un emplacement en mémoire pour la variable et lui donne la valeur numérique 27 :
var maVariable=27;

On aurait pu écrire :
var maVariable; maVariable=27;

Remarque :

En JavaScript il n'est pas nécessaire de déclarer explicitement une variable ; elle sera déclarée implicitement à sa première affectation et visible de tout le document. Ceci comporte à mon sens plus de risques que d'avantages. Une erreur de frappe dans le nom d'une variable rendra difficile la mise au point d'un programme. Le programmeur sera persuadé d'avoir modifié sa variable alors qu'il aura en fait modifié une variable parasite ayant presque le même nom.

Normes d'écriture des noms

Un nom peut être composé de lettres (majuscules ou minuscules à l'exclusion des caractères accentués), de chiffres et du caractère de soulignement («_»).

Exemples :

Visibilité d'une variable

Une variable n'est pas forcément visible (c'est à dire accessible) de tout le programme. Une variable déclarée explicitement (avec var) dans un bloc d'instructions n'est visible que de celui-ci et des blocs fils (c'est-à-dire inclus dans le premier). On peut donc dans un autre bloc déclarer une variable différente portant le même nom. Pour qu'une variable soit connue de tout le document il faut la déclarer hors de tout bloc - généralement en tête de script - ou ne pas la déclarer explicitement.

La méconnaissance de la visibilité des variables peut être source d'erreurs. C'est un aspect de la programmation qu'il ne faut pas sous-estimer. Nous y reviendrons chaque fois que nous le jugerons nécessaire.