Sommaire partiellement masqué - faites défiler !
Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
Il existe bien sûr le "if", le "if ... else" , le "if ... else if ...".
Mais aussi l'opérateur ternaire et la structure switch.
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 :
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 à )
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)
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.
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
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 :
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 ...
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)
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.
Les sorties peuvent être affichées dans la console du navigateur.
Il suffit de remplacer "alert()" par "console.log()".
Donc le script devient :
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 l'onglet "console"
puis cliquez sur l'onglet "console".
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.
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().
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" !
Le rendu dans un iframe :