Accueil

Traduction

Tutoriel JavaScript & jQuery - sommaire

Sommaire partiellement masqué - faites défiler !

Tutoriel JavaScript & jQuery - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

JavaScript : les conditions

La condition if

Exemple

Le script

Testez ce script !

Commentaire du code

Il y a deux conditions.
Une condition est entre parenthèse après le mot réservé if.
Une condition est une expression logique qui retourne une valeur logique (un booleen : true ou false).
Si la première condition retourne true alors il y a affichage du message : "vous êtes sénior".
Si la deuxième condition retourne true alors il y a affichage du message : "vous êtes encore jeune".
Ici les accolades sont facultatives puisqu'il n'y a qu'une instruction en cas de test vérifié.

Syntaxes :

Les opérateurs de comparaison

Dans chacune des trois conditions l'expression logique est basée sur un opérateur de comparaison.

Nous avons utilisé : >= (supérieur ou égal) et < (inférieur à ) mais il existe aussi :
== (égal)
!= (différent de )
>= (supérieur ou égal à )
<= (inférieur ou égal à )

Opérateurs logiques

Le script de l'exemple

Testez ce script !

Remarquez que la chaine qui est l'argument de la fonction prompt contient une apostrophe . Donc il faut la délimiter la chaîne soit par des doubles quotes (") soit par des simples quotes (') mais à condition d'échapper alors l'apostrophe (\')

Examinons la deuxième condition. Traduisons l'expression de condition : "si vmoyenne supérieure ou égale à 10 et inférieure à 12" . Nous avons utilisé un opérateur logique dans l'expression.

Les opérateurs logiques sont :
&& (sens : et)
|| (sens : ou )
! (sens : non)

La condition if ... else (en français :si ... sinon)

Exemple

Reprenons le thème de l'âge. Nous aurions pu écrire plus simplement :

L'instruction après le else est exécutée si la condition retourne FALSE.

Que ce soit dans le si ou dans le sinon les accolades sont ici facultatives puisqu'il n'y a à chaque fois qu'une instruction.
Elles deviennent obligatoires en cas de bloc d'instructions.

Opérateur ternaire

Reprenons le thème de l'âge. Le script peut s'écrire de la façon suivante :

Observons la troisième instruction. Elle est basée sur l'opérateur ternaire.
Si le test est VRAI la variable vstatut reçoit "senior" sinon elle récupère "encore jeune".
Syntaxe : test ? code si vrai : code si faux

Testez ce script !

Les "if... else" imbriqués

Thème : affichage du nom du département à partir de son code minéralogique.
On limite à la nouvelle région "Hauts de France".

Le script :

Testez ce script !

Mais comment fonctionne cette structure ?
Si la première condition retourne false alors il y a examen du deuxième test. Si le deuxième test retourne false alors examen du troisième test et ainsi de suite ...

La condition switch

Reprenons le thème précédent (affichage du nom du département en fonction du code minéralogique). Il y a une autre solution avec la structure switch (cas de)

Le script

Testez ce script !

Fonctionnement du code

Reconnaissez que c'est beaucoup plus clair ...

Si vcodepostal est égal à 2 alors affichage de "Aisne" puis sortie du "switch" (grâce à l'instruction break) sinon examen du case suivant.
L'instruction associée à default est exécutée si aucun des cas n'est vérifié.

Attention la structure switch souffre cependant d'un gros inconvénient ...
L'opérateur de comparaison (implicite d'ailleurs) est forcément égal. Impossible d'écrire, par exemple : case >=60.

Sorties dans la console du navigateur

Les sorties peuvent être affichées dans la console du navigateur.
Il suffit de remplacer "alert()" par "console.log()".
Donc le script devient :

Comment ouvrir la console du navigateur sous Chrome ?

Pour ouvrir la console sur Chrome, utilisez le raccourci clavier suivant :Ctrl + Maj + J (sous Windows).
Vous pouvez également ouvrir la console en cliquant avec le bouton droit de la souris sur la page, puis en sélectionnant "Inspecter" puis sélectionnez (dans la fenêtre de développement) l'onglet "console".

Première application web

Dans le cadre d'un programme JS définitif, les boites de dialogue prompt(), alert(), console.log(), confirm() doivent être bannies.
Les entrées-sorties doivent se faire dans le cadre d'un formulaire HTML (avec certains champs en lecture seule).
On peut alors parler d'une "application web en ligne" : une page web qui interagit avec le visiteur.

Reprenons la thématique "affichage du nom d'un département en fonction de son code".
Les entrées/sorties se font désormais dans le cadre d'un formulaire HTML.

Le code HTML de la page

La saisie du code minéralogique se fait dans une liste déroulante. Donc aucun risque d'erreur de saisie.
Le nom du département correspondant s'affiche dans une zone de texte en lecture seule.
Notez que chaque élément du formulaire est affecté d'un ID. C'est indispensable dans le cadre du traitement des données par le script !
A chaque changement de valeur dans la liste déroulante il y a appel d'un fonction JS : ftrait().

Le script

On manipule dans le script un élément du formulaire via son ID avec la méthode document.getElementById(nomId)
Comme on manipule plus précisément le contenu d'un élément (en lecture ou écriture) il faut rajouter ".value" !

Testez cette application !