Le concept de variable
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
- default do double
- else extends
- false final finally float
- goto
- if, implements, import, in, instanceof, int, interface
- long
- native, new, null
- package, private, protected, public
- return
- short, static, super, switch, synchronized
- this, throw, throws, transient, true, try
- var, void
- 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! |
La déclaration de variables |
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...
Portée (visibilité) des variables |
Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible) de partout dans le script ou bien que 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
Les types de données dans les variables |
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
Chaîne de caractères (string) |
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
Aucun commentaire:
Enregistrer un commentaire