Javascript
|
On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts.
L'instruction if est la structure de test la plus basique, on la retrouve dans tous les langages (avec une syntaxe parfois différente d'un langage à l'autre...). Elle permet d'exécuter une série d'instructions (un bloc d'instructions) si jamais une condition est réalisée.
La syntaxe de cette expression est la suivante :
if (condition réalisée) {
liste d'instructions
}
Remarques:
if ((condition1)&&(condition2))
if ((condition1)||(condition2))
if (x==2) document.write("X vaut 2");
L'instruction if dans sa forme basique ne permet de tester qu'une condition, or la plupart
du temps on aimerait pouvoir choisir les instructions à exécuter en cas de non réalisation
de la condition...
L'expression if ... else permet d'exécuter une autre série d'instruction en cas
de non-réalisation de la condition.
La syntaxe de cette expression est la suivante :
if (condition réalisée) {
//liste d'instructions
}
else {
//autre série d'instructions
}
Les structures conditionnelles pouvant être imbriquées, il peut être utile d'indenter
le code pour plus de lisibilité, c'est-à-dire de décaler à l'aide d'une tabulation
chaque bloc d'instruction pour pouvoir rapidement visualiser l'imbrication des structures !
Il est possible de faire un test avec une structure beaucoup moins lourde grâce à la structure suivante :
(condition) ? instruction si vrai : instruction si faux
Remarques:
Les boucles sont des structures qui permettent d'exécuter plusieurs fois la même
série d'instructions jusqu'à ce qu'une condition ne soit plus réalisée...
La façon la plus commune de faire une boucle, est de créer un compteur (une variable
qui s'incrémente, c'est-à-dire qui augmente de 1 à chaque tour de boucle) et de faire
arrêter la boucle lorsque le compteur dépasse une certaine valeur.
L'instruction for permet d'exécuter plusieurs fois la même série d'instructions: c'est une boucle!
Dans sa syntaxe, il suffit de préciser le nom de la variable qui sert de compteur (et éventuellement sa valeur de départ, la condition sur la variable pour laquelle la boucle s'arrête (basiquement une condition qui teste si la valeur du compteur dépasse une limite) et enfin une instruction qui incrémente (ou décrémente) le compteur.
La syntaxe de cette expression est la suivante :
for (compteur; condition; modification du compteur) {
liste d'instructions
}
Par exemple :
for (i=1; i<6; i++) {
Alert(i)
}
L'instruction while représente un autre moyen d'exécuter plusieurs fois la même série d'instructions.
La syntaxe de cette expression est la suivante :
while (condition réalisée) {
liste d'instructions
}
Cette instruction exécute la liste d'instructions tant que (while est un mot anglais qui signifie tant que) la condition est réalisée. La condition de sortie pouvant être n'importe quelle structure conditionnelle, les risques de boucle infinie (boucle dont la condition est toujours vraie) sont grands, c'est-à-dire qu'elle risque de provoquer un plantage du navigateur!
Il peut être nécessaire de faire sauter à la boucle une ou plusieurs valeurs sans pour autant mettre fin à celle-ci.
La syntaxe de cette expression est "continue;" (cette instruction se place dans une boucle!), on l'associe généralement à une structure conditionnelle, sinon les lignes situées entre cette instruction et la fin de la boucle seraient obsolètes.
Exemple: Imaginons que l'on veuille imprimer pour x allant de 1 à 10 la valeur de 1/(x-7) ... il est évident que pour x=7 il y aura une erreur. Heureusement, grâce à l'instruction continue il est possible de traiter cette valeur à part puis de continuer la boucle!
x=1;
while (x<=10) {
if (x == 7) {
Alert('division par 0');
continue;
}
a = 1/(x-7);
Alert(a);
x++;
}
Il y avait une erreur dans ce script... peut-être ne l'avez-vous pas vue :
Lorsque x est égal à 7, le compteur ne s'incrémente plus, il
reste constamment à la valeur 7, il aurait fallu écrire :
x=1;
while (x<=10) {
if (x == 7) {
Alert('division par 0');
x++;
continue;
}
a = 1/(x-7);
Alert(a);
x++;
}
A l'inverse, il peut être voulu d'arrêter prématurément la boucle, pour une autre conditon que celle précisé dans l'en-tète de la boucle. L'instruction break permet d'arrêter une boucle (for ou bien while). Il s'agit, tout comme continue, de l'associer à une structure conditionnelle, sans laquelle la boucle ne ferait jamais plus d'un tour!
Dans l'exemple de tout à l'heure, par exemple si l'on ne savait pas à quel moment le dénominateur (x-7) s'annule (bon...OK...pour des équations plus compliquées par exemple) il serait possible de faire arrêter la boucle en cas d'annulation du dénominateur, pour éviter une division par zéro!
for (x=1; x<=10; x++) {
a = x-7;
if (a == 0) {
Alert('division par 0');
break;
}
Alert(1/a);
}
L'instruction switch permet de faire plusieurs tests de valeurs sur le contenu d'une même variable. Ce branchement conditionnel simplifie beaucoup le test de plusieurs valeurs d'une variable, car cette opération aurait été compliquée (mais possible) avec des if imbriqués. Sa syntaxe est la suivante :
switch (Variable) {
case Valeur1:
Liste d'instructions;
break;
case Valeur2:
Liste d'instructions;
break;
case ValeurX:
Liste d'instructions;
break;
default:
Liste d'instructions;
break;
}
Les parenthèses qui suivent le mot clé switch indiquent une expression dont la valeur est testée successivement par chacun des case. Lorsque l'expression testée est égale à une des valeurs suivant un case, la liste d'instruction qui suit celui-ci est exécuté. Le mot clé break indique la sortie de la structure conditionnelle. Le mot clé default précède la liste d'instructions qui sera exécutée si l'expression n'est jamais égale à une des valeurs. Il est essentiel de terminer chaque bloc d'instruction par l'instruction break !
N'oubliez pas d'insérer des instructions break entre chaque test, ce genre d'oubli est difficile à
détecter car aucune erreur n'est signalée...
| 25/07 10h47 | JAVASCRIPT if (a&lt;b) ne fonctionne pas.. | 2 |
| 24/07 21h41 | Dewplayer php ou javascript ?? | 28 |
| 24/07 14h29 | Pas d'affichage javascript | 7 |
| 24/07 09h52 | Javascript drag and drop et transparence | 1 |
| 22/07 23h15 | Besoin d'aide en javascript | 8 |
![]() | Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages... | Catégorie: Extensions Firefox Licence: Freeware/gratuit |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | GreaseMonkey - GreaseMonkey permet de bidouiller à la volée les pages web que vous consultez. C'est à dire qu'il va modifier la page... | Catégorie: Extensions Firefox Licence: Open Source |
![]() | Firstpage - First Page 2006 est un éditeur html gratuit et excellent. Il permet de travailler un code HTML en couleur, ainsi que de... | Catégorie: Editeurs HTML Licence: Freeware/gratuit |