if
Syntaxe
if (boolean) {
code à exécuter si true
}
La valeur
boolean est le contenu d'une variable évaluée en type booléen ou
le résultat d'une expression conditionnelle et/ou logique (true ou false) .
Lorsque la valeur est true , il y a exécution de la séquence d'instructions contenue entre les accolades.
Lorsque la valeur est false, il n'y a pas d'exécution de la séquence comprise entre les accolades.
Démo
var time=8;
if (time<10) {
document.write("<b>Bonjour</b>");
}
/*A tester avec d'autres valeurs...*/
if-else
Syntaxe
if (boolean) {
code à exécuter si true
}
else {
code à exécuter false
}
La valeur
boolean est le contenu d'une variable évaluée en type booléen ou
le résultat d'une expression conditionnelle et/ou logique (true ou false) .
Lorsque la valeur est true , il y a exécution de la séquence d'instructions contenue entre les accolades du if et le code
compris entre les accolades du else est ignoré.
Lorsque la valeur est false , il y a exécution de la séquence d'instructions contenue entre les accolades du else et le code
compris entre les accolades du if est ignoré.
Démo
var time=8;
if (time<10) {
document.write("Bonjour");
}
else {
document.write("Bonne journée");
}
/*A tester avec d'autres valeurs...*/
if else if else
Syntaxe
if (boolean) {
code à exécuter si true
}
else if (boolean){
code à exécuter si true
}
else if (boolean){
code à exécuter si true
}
...
...
else {
code à exécuter si false
}
La valeur
boolean est le contenu d'une variable évaluée en type booléen ou
le résultat d'une expression conditionnelle et/ou logique (true ou false) .
Lorsque la valeur est true , il y a exécution de la séquence d'instructions contenue entre les accolades du if ou du else if concerné et le code
compris entre les accolades des if else et du else sont ignorés.
Lorsque la valeur est false pour le if et les else if, il y a exécution de la séquence d'instructions contenue entre les accolades du else et le code
compris entre les accolades du if et des else if sont ignorés.
Démo
<script>
var time=8;
if (time<7) {
document.write("Dodo");
}
else if (time>=7 && time<8) {
document.write("J'ouvre un oeil");
}
else if (time>=8 && time<12) {
document.write("Le bonheur à Fischer");
}
else if (time>=12 && time<14) {
document.write("Du bon miam miam");
}
else if (time>=14 && time<17) {
document.write("Bon après-midi à Fischer");
}
else {
document.write("Je rentre à la maison");
}
</script>
switch
Syntaxe
switch(val) {
case 1:
exécution bloc de code si le contenu de val vaut 1
break;
case 2:
exécution bloc de code si le contenu de val vaut 2
break;
default:
exécution bloc de code si le contenu de val est différent de 1 ou 2
}
Le contenu de la variable val est comparé avec la valeur placée derrière case, si les deux valeurs sont strictement égales le bloc d'instructions situé après les 2 points est exécuté.
L'instruction break est obligatoire, si elle manque la structure continue a exécuter les blocs d'instructions suivants en séquence, jusqu'à la prochaine instruction break.
Démo
var x, day=2;
switch (day) {
case 0:
x="Dimanche";
break;
case 1:
x="Lundi";
break;
case 2:
x="Mardi";
break;
case 3:
x="Mercredi";
break;
case 4:
x="Jeudi";
break;
case 5:
x="Vendredi";
break;
case 6:
x="Samedi";
break;
default: x="Valeur imposible";
}
console.log(x);
Il est possible de tester plusieurs valeurs pour un même bloc d'instructions à exécuter, mais chaque valeur testée doit être précédée de case et suivie de :.
Démo
var x, moment="18";
switch (moment) {
case "6":
case "7":
case "8":
case "9":
case "10":
case "11":
x="Bonjour";
break;
case "12":
case "13":
x="Bon appétit";
break;
case "14":
case "15":
case "16":
case "17":
x="Bon après-midi";
break;
case "18":
case "19":
case "20":
case "21":
x="Bonne soirée";
break;
case "22":
case "23":
case "24":
x="Bonne nuit";
break;
default: x="Valeur imposible";
}
document.write(x);
l'opérateur ? :
l'opérateur ?: est ternaire, il admet trois opérandes!
Cet opérateur est un raccourci à if else lorsque les blocs de code du if ou du else ne comportent qu'une seule instruction.
Syntaxe
(boolean)? expr1 : expr2
Démo
var num, den;
num=1;
den=6;
(den===1)? document.write(num):document.write(num+"/"+den)
/* Fonctionne aussi:
x=(den===1)? num:num+"/"+den;
document.write(x);
*/
L'opérateur ?: peut accepter plusieurs instructions pour true ou false (qu'on sépare par des virgules) mais dans ce cas la structure if else est bien plus pratique!
Quiz
Les conditionnelles 1