Une variable est un objet repéré par son nom,
pouvant contenir des données, qui pourront être modifiées lors de
l'exécution du programme.
En Javascript, les noms de variables peuvent être
aussi long que l'on désire, mais doivent répondre à certains
critères:
- un nom de variable doit commencer par une lettre (majuscule ou
minuscule) ou un "_"
- un nom de variables peut comporter des lettres, des chiffres
et les caractères _ et & (les espaces ne sont pas autorisés!)
- Les noms de variables ne peuvent pas être les noms suivants
(qui sont des noms réservés):
- abstract
- boolean break byte
- case catch char class const continue
- debugger default delete do double
- else export extends
- false final finally float for function
- goto
- if, implements, import, in, infinity, instanceof, int,
interface
- label, long
- native, new, null
- package, private, protected, public
- return
- short, static, super, switch, synchronized
- this, throw, throws, transient, true, try, typeof
- var, void, volatile
- while, with
Nom de variable correct |
Nom de variable incorrect |
Raison |
Variable |
Nom de Variable |
comporte des espaces |
Nom_De_Variable |
123Nom_De_Variable |
commence par un chiffre |
nom_de_variable |
toto@mailcity.com |
caractère spécial @ |
nom_de_variable_123 |
Nom-de-variable |
signe - interdit |
_707 |
transient |
nom réservé |
|
Les noms de variables sont sensibles à la casse (le
Javascript fait la différence entre un nom en majuscule et un
nom en minuscules), il faut donc veiller à utiliser des noms
comportant la même casse! |
Le Javascript étant très souple au niveau de
l'écriture (à double-tranchant car il laisse passer des erreurs...),
la déclaration des variables peut se faire de deux façons:
- soit de façon explicite, en faisant précéder la variable du
mot clé var qui permet d'indiquer de façon rigoureuse qu'il
s'agit d'une variable:
var chaine=
"bonjour"
- soit de façon implicite, en écrivant directement le nom de la
variable suivie du caractère = et de la valeur à affecter:
chaine= "bonjour" Le navigateur
détermine seul qu'il s'agit d'une déclaration de variable.
Même si une déclaration implicite est tout à fair reconnue
par le navigateur, il est tout de même plus rigoureux de déclarer
les variables de façon explicite avec le mot var...
Voici un exemple dans lequel deux variables sont
déclarées :
<SCRIPT language="Javascript">
<!--
var MaVariable;
var MaVariable2 = 3;
MaVariable = 2;
document.write(a*b);
// -->
</SCRIPT>
Selon l'endroit où on déclare une variable,
celle-ci pourra être accessible (visible) de partout dans le script
ou bien uniquement dans une portion confinée du code, on parle de
"portée" d'une variable.
Lorsqu'une variable est déclarée sans le mot clé
var, c'est-à-dire de façon implicite, elle est
accessible de partout dans le script (n'importe quelle fonction du
script peut faire appel à cette variable). On parle alors de
variable globale
Lorsque l'on déclare de façon explicite une
variable en javascript (en précédant sa déclaration avec le mot
var), sa portée dépend de l'endroit où elle est déclarée.
- Une variable déclarée au début du script, c'est-à-dire avant
toute fonction sera globale, on pourra alors les utiliser à partir
de n'importe quel endroit dans le script
- Une variable déclarée par le mot clé var dans une
fonction aura une portée limitée à cette seule fonction,
c'est-à-dire qu'elle est inutilisable ailleurs, on parle alors de
variable locale
Illustrons ceci par deux exemples :
<SCRIPT language="Javascript">
<!--
var a = 12;
var b = 4;
function MultipliePar2(b) {
var a = b * 2;
return a;
}
document.write("Le double de ",b," est ",MultipliePar2(b));
document.write("La valeur de a est ",a);
// -->
</SCRIPT>
Dans l'exemple ci-dessus, la variable a est
déclarée explicitement en début de script, ainsi que dans la
fonction. Voici ce qu'affiche ce script :
Le double de 4 est 8
La valeur de a est 12
Voici un autre exemple dans lequel a est déclarée
implicitement dans la fonction :
<SCRIPT language="Javascript">
<!--
var a = 12;
var b = 4;
function MultipliePar2(b) {
a = b * 2;
return a;
}
document.write("Le double de ",b," est ",MultipliePar2(b));
document.write("La valeur de a est ",a);
// -->
</SCRIPT>
Voici ce qu'affiche ce script :
Le double de 4 est 8
La valeur de a est 8
|
Ces exemples montrent la nécessité de déclarer
systématiquement des nouvelles variables avec le mot clé
var |
En Javascript il n'y a pas besoin de déclarer le
type de variables que l'on utilise, contrairement à des langages
évolués tels que le langage C ou le Java pour lesquels il faut
préciser s'il s'agit d'entier (int), de nombre à virgule
flottante (float), de caractères (char), ...
En fait le Javascript n'autorise la manipulation
que de 4 types de données:
- des nombres: entiers ou à virgules
- des chaînes de caractères (string): une suite de
caractères
- des booléens: des variables à deux états permettant de
vérifier une condition
- true: si le résultat est vrai
- false: lors d'un résultat faux
- des variables de type null: un mot
caractèristique pour indiquer qu'il n'y a pas de données
Un nombre entier est un nombre sans virgule qui
peut être exprimé dans différentes bases:
- Base décimale: L'entier est représenté par une suite de chiffre
unitaires (de 0 à 9) ne devant pas commencer par le chiffre 0
- Base hexadécimale: L'entier est représenté par une suite d'unités
(de 0 à 9 ou de A à F (ou a à f)) devant commencer par 0x ou
0X
- Base octale: L'entier est représenté par une suite d'unités (incluant
uniquement des chiffres de 0 à 7) devant commencer par 0
Un nombre à virgule flottante est un nombre à
virgule, il peut toutefois être représenté de différentes façons:
- un entier décimal: 895
- un nombre comportant un point (et non une virgule): 845.32
- une fraction: 27/11
- un nombre exponentiel, c'est-à-dire un nombre (éventuellement
à virgule) suivi de la lettre e (ou E), puis d'un
entier correspondant à la puissance de 10 (signé ou non,
c'est-à-dire précédé d'un + ou d'un -)
2.75e-2 35.8E+10
.25e-2
Une chaîne de caractère est, comme son nom
l'indique, une suite de caractères. On la représente par la suite de
caractères encadrée par des guillemets simples (') ou doubles ("),
sachant que les deux types de guillemets ne peuvent être mélangés
pour une même chaîne de caractères, ce qui signifie que les
guillemets dans une chaîne de caractères existent par paire.
Il existe des caractères spéciaux à utiliser dans
les chaînes pour simuler d'une part des caractères non visuels ou
pour éviter au navigateur de confondre les caractères d'une chaîne
avec ceux du script, ces caractères sont précédés d'un antislash
(\):
- \b : touche de suppression
- \f : formulaire plein
- \n : retour à la ligne
- \r : appui sur la touche ENTREE
- \t : tabulation
- \" : guillemets doubles
- \' : guillemets simples
- \\ : caractère antislash
Ainsi, si on veut stocker la
chaine suivante dans la variable Titre: Qu'y a-t'il dans
"c:\windows\"
Il faudra écrire dans le code Javascript: Titre
= "Qu\'y a-t\'il dans \"c:\\windows\\\""; ou Titre = 'Qu\'y
a-t\'il dans \"c:\\windows\\\"';
Un booléen est une variable spécial servant à
évaluer une condition, il peut donc avoir deux valeurs:
- vrai: représenté par 1
- faux: représenté par 0
 
© Copyright 2001 Jean-François Pillou
Ce document issu de CommentCaMarche.net est
soumis à la licence
GNU FDL. Permission vous est donnée de distribuer, modifier des
copies de cette page tant que cette note apparaît clairement.
|