Cours JavaScript Tous Les Seances-2 None Have This
Cours JavaScript Tous Les Seances-2 None Have This
Cours JavaScript Tous Les Seances-2 None Have This
Introduction
Intégrer le code Javascript directement dans les tags de script <script> et </script>
Déclarer le code Javascript dans un fichier JS et appeler celui ci dans la balise <script> à
l'aide de l'attribut src
<script src="script.js"></script>
Premier exemple
Code Javascript ecrit directement dans les tags Déclarer le code Javascript dans un fichier JS et
de script <script> et </script> dans le code appeler celui ci dans la balise <script> à l'aide de
HTML l'attribut src
<html> <html>
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
</head> </head>
<body> <body>
<script> <script type="text/javascript"
alert("Bonjour"); src="script.js"></script>
</script> </body>
</body> </html>
</html>
;alert("Bonjour")
Où placer nos scripts?
❑ Dans l'exemple précédent, vous avez constaté que nous avons déclaré le code Javascript dans
la balise <body>.
❑ En fait, il n'y a pas de restriction sur l'endroit où on peut placer nos scripts.
❑ Nous pouvons les placer n’importe où (avant <html>, dans <head>, dans <body> ou
après </html>).
❑ Cependant, les développeurs ont pour coutume de placer les scripts Javascript dans la
balise <head>
Exemple1
L'une des nombreuses méthodes JavaScript HTML est getElementById()
L'exemple ci-dessous trouve un élément HTML (ayant un id="demo") et change
son contenu en utilisant (innerHTML) en "Le contenu est changé avec
Javascript!":
<html>
<body>
<h2>Exemple 1</h2>
<button type="button"
onclick='document.getElementById("demo").innerHTML =
"Le contenu est changé avec Javascript!" '>Click
Moi!</button>
</body>
</html>
innerHTML est une propriété de tout élément HTML qui désigne le contenu qui se trouve entre la balise
entrante et la balise fermante.
Dans l'exemple ci-dessous, innerHTML a pour valeur "un texte":
<p> un texte </p>
On l'utilise pour lire pour insérer dynamiquement un contenu dans une page.
Exemple 2
<fieldset>
<legend> enter un texte </legend>
<input type="text" name="z1" id="z1" />
</fieldset>
<button type="button"
onclick="resultat('z1','z2')">Afficher!</button>
<script>
<fieldset> function resultat(z1,z2)
<legend> resultat</legend> {
<div id="z2"></div> document.getElementById(z2).innerHTML=document.getElementB
</fieldset> yId(z1).value;
}
</script>
document.write()
<!DOCTYPE html>
<html>
<body>
<h1>Exemple write</h1>
<p>exemple 1</p>
<script>
document.write(5 + 6);
</script>
</body>
</html>
L'utilisation de document.write() après le chargement d'un document HTML supprimera tout le
code HTML existant :
<html>
<body>
<h1>Exemple write</h1>
<p>exemple 1</p>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h1>Exemple alert</h1>
<p>exemple 2</p>
<script>
alert(5 + 6);
</script>
</body>
</html>
console.log()
Afin de vérifier quelques données, vous pouvez utiliser la méthode console.log() dans
le navigateur pour afficher les données.
<html>
<body>
<h2>Activer Debugging</h2>
<script>
console.log(5 + 6);
</script>
</body>
</html>
Application
Créer une page web contenant deux zones de texte et quatre boutons pour l’addition, soustraction,
multiplication et division.
Après l’insertion de deux valeurs A et B et le click sur l’une des boutons le résultat sera affiché
<fieldset>
<legend>Calculatrice</legend>
A = <input type="text" name="a" id="a"><br><br>
B = <input type="text" name="b" id="b">
<br><br>
<table width="200" border="0">
<tr>
<td align="right"><input type="button" name="addition" id="addition" value="+"
onclick="addition('a','b','res')"></td>
var p=Number(document.getElementById(x).value);
var k=parseInt(document.getElementById(y).value);
document.getElementById(sum).innerHTML=p+k;
</script>
La méthode prompt () en JavaScript est utilisée pour afficher une boîte de dialogue qui invite
l'utilisateur à entrer une donnée. Il est généralement utilisé pour prendre la donnée que
l'utilisateur a entré avant d’accéder à la page.
Syntaxe
prompt(text, defaultText)
Exemple
<body>
<h2>JavaScript Prompt</h2>
<button onclick="myFunction()">Cliquer ici</button>
<p id="demo"></p>
<script>
function myFunction() {
let text;
let person = prompt("Entrer votre nom svp:", "Mohamed");
if (person == null || person == "") {
text = "Utilisateur a annuler ou n'a pas entrer son nom";
}
else {
text = "Bonjour " + person + "! Comment vas tu?";
}
document.getElementById("demo").innerHTML = text;
} ?Ce quoi let
</script>
L'utilisation de let ou de const vous permet de créer des
</body> variables et des constantes qui ont une portée une portée
locale au bloc.
Définition des constantes en JavaScript
Une constante est similaire à une variable au sens où c’est également un conteneur
pour une valeur. Cependant, à la différence des variables, on ne va pas pouvoir
modifier la valeur d’une constante.
Pour créer ou déclarer une constante en JavaScript, nous allons utiliser le mot clef const.
Les variables en JavaScript
Les variables sont dynamiques en JavaScript, ce sont des noms associés à des valeurs et que l'on
peut réaffecter dans le programme à des valeurs de type différent: nombre, chaîne de caractères,
.tableau, etc
Le nom d'une variable est une suite de lettres ou de chiffres, qui commence par une lettre ou le
.$ symbole de soulignement, ou le symbole
:Par exemple
Pour créer ou déclarer une variable en
JavaScript, nous allons utiliser le mot clef var.
La visibilité est locale à une fonction ou globale
Une variable est considérée comme globale si elle est déclarée hors d'une définition de fonction ou d'une
structure. Elle est alors visible dans le corps des fonctions et dans toutes structures de l'espace global ou
contenues dans des fonctions.
Une variable définie dans une fonction est visible dans cette fonction et dans le corps de toute
structure contenue dans cette fonction.
Mais si elle est créée sans le mot clé var, elle fait alors partie de l'espace global, mais si elle n'a pas été
définie hors de la fonction.
Présentation des structures conditionnelles en JavaScript
Les structures de contrôle conditionnelles (ou plus simplement conditions) vont nous permettre
d’exécuter une série d’instructions si une condition donnée est vérifiée ou (éventuellement) une autre
série d’instructions si elle ne l’est pas.
Comme je l’ai précisé, nous allons souvent construire nos conditions autour de variables : selon la
valeur d’une variable, nous allons exécuter tel bloc de code ou pas.
En pratique, nous allons donc comparer la valeur d’une variable à une certaine autre valeur donnée
et selon le résultat de la comparaison exécuter un bloc de code ou pas. Pour comparer des valeurs,
nous allons devoir utiliser des opérateurs de comparaison.
Revenons à nos opérateurs. Tout d’abord, notez que notre « égal » mathématique (l’égalité en
termes de valeurs) se traduit en JavaScript par le double signe égal ==.
Ensuite, certains d’entre vous doivent certainement se demander ce que signifie le triple égal.
Lorsqu’on utilise un triple égal ===, on cherche à effectuer une comparaison non seulement sur la
valeur mais également sur le type des deux opérandes.
Prenons un exemple simple pour illustrer cela. Imaginons que l’on possède une variable let x dans
laquelle on stocke le chiffre 4. On veut ensuite comparer la valeur stockée dans notre variable à la
chaîne de caractères « 4 ».
Si on utilise le double signe égal pour effectuer la comparaison, l’égalité va être validée par le
JavaScript car celui-ci ne va tester que les valeurs, et 4 est bien égal à « 4 » en termes de valeur.
En revanche, si on utilise le triple signe égal, alors l’égalité ne va pas être validée car nous
comparons un nombre à une chaine de caractères (donc des types différents de valeurs).
On va suivre exactement le même raisonnement pour les deux opérateurs != et !== qui vont nous
permettre de tester respectivement la différence en termes de valeurs simplement et la différence
en termes de valeurs ou de type.
Fonctions prédéfinies
isNaN
X=5;
if(isNaN(x)) { alert(x + " n'est pas un
nombre."); }
isFinite
X=5;
if(isFinite(x)) { alert(x + " est un nombre."); }
parseInt
;var x = parseInt("123")
parseFloat
Convertit une chaîne contenant une valeur numérique en nombre réel. Si la chaîne contient un nombre
avec des décimales, la fonction parseInt ne conserve que la partie entière, contrairement à parseFloat.
toString
;var nbr = 15
"nbr.toString(); //"15
Application 1
Créer une page web et la sauvgarder dans votre dossier de traivail avec le nom
application_1_mars_js
Fieldset
2- apres la saisie du nom et le click sur « OK » la page va s’afficher et contient
Le nom que
vous avez inseré
Legend Zone de texte
Div pour afficher la mention
3- écrire la fonction qui va vérifier si la moyenne saisie sera un nombre ou nom, dans le
cas ou l’utilisateur n’a pas saisie un nombre un alert vas s’afficher pour informer
l’utilisateur par l’erreur
4- dans le cas ou l’utilisateur a entrer un nombre et a cliquer sur le bouton « afficher la
mention» la mention sera afficher dans le div aproprié selon les valeurs suivants
Moyenne Mention
Moyenne<10=<0 refusé
Moyenne<12=<10 Passable
Moyenne<16=<14 Bien
Moyenne<=20=<18 Excellent
Vous devez créer la page manquante qui vous permet de résoudre une équation de seconde
dégrée
legend
Fieldset
Zones de texte
button
❑ Tester si les valeurs saisies dans les zone sont des nombres
❑ Calculer detla
Si delta < 0 alors une solution Le discriminant est inférieur à 0 donc on obtient l'ensemble
vide
Structure conditionnelle a choix multiple
Switch
<fieldset>
</fieldset>
function aff_jour(jour,nomjour){
numjour=document.getElementById(jour).value;
numjourint=parseInt(numjour);
if(isNaN(numjour)) {
alert("vous devez entrer un nombre du jour cimpris entre 1 et 7");
}
else {
switch (numjourint) {
case 1:
document.getElementById(nomjour).innerHTML="DIMANCHE";
break;
case 2:
document.getElementById(nomjour).innerHTML="LUNDI";
break;
case 3:
document.getElementById(nomjour).innerHTML="MARDI";
break;
case 4:
document.getElementById(nomjour).innerHTML="MERCREDI";
break;
case 5:
document.getElementById(nomjour).innerHTML="JEUDI";
break;
case 6:
document.getElementById(nomjour).innerHTML="VENDREDI";
break;
case 7:
Saisons switch (nummoisint) {
case 12:
case 1:
case 2:
document.getElementById(nomsaison).innerHTML="Hiver";
break;
case 3:
case 4:
case 5:
document.getElementById(nomsaison).innerHTML="Printemps";
break;
case 6:
case 7:
case 8:
document.getElementById(nomsaison).innerHTML="ete";
break;
case 9:
case 10:
case 11:
document.getElementById(nomsaison).innerHTML="Automne";
break;
default:
document.getElementById(nomsaison).innerHTML="NUM MOIS INCORRECTE ";
}
Mention switch (true) {
case ((moyfloat >= 0) && (moyfloat < 10)):
document.getElementById(mention).innerHTML="Refusé";
break;
case ((moyfloat >= 10) && (moyfloat < 12)):
document.getElementById(mention).innerHTML="admis passable";
break;
case ((moyfloat >= 12) && (moyfloat < 14)):
document.getElementById(mention).innerHTML="admis Assez bien";
break;
case ((moyfloat > 14) && (moyfloat <= 16)):
document.getElementById(mention).innerHTML="admis bien";
break;
case ((moyfloat > 16) && (moyfloat <= 18)):
document.getElementById(mention).innerHTML="admis tres bien";
break;
case ((moyfloat > 18) && (moyfloat <= 20)):
document.getElementById(mention).innerHTML="admis excellent";
break;
default:
document.getElementById(mention).innerHTML="moyenne incorrecte ";
}
Contrôle de saisie
Application
Créer le formulaire d’inscription suivant
Sélectionner le genre
Mot de passe doit être formé par des lettres et des chiffres
De longueur minimal 8 caractères
else if (/^[a-zA-Z]+$/.test(nomv)==false) {
alert( "le nom doit contenir des lettres seulement!" );
return false;
}
else if ((/^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$/.test(passwordv)==false)||(passwordv.length
< 8))
{
alert( "Le mot de passe doit etre forme par des lettres et des chiffres et de taille 8 " );
return false;
}
else{
alert("tous les champs sont saisies correctement");
return( true );
}
Structures de contrôle
Iterative: les boucles
Les boucles peuvent exécuter un bloc de code plusieurs fois.
do/while - exécute un bloc de code tant qu'une condition spécifiée est vraie
Boucle For
<html>
<body>
<script>
let text = "";
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Expression 1
<p id="demo"></p>
<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i, len, text;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Et vous pouvez omettre l'expression 1 (comme lorsque vos valeurs sont définies avant le début de la
boucle) :
<html>
<body>
<p id="demo"></p>
Résultat
<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 2;
let len = cars.length;
let text = "";
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Application
<table width="60%" border="0">
<tr>
Créer un fichier HTML dans lequel <td colspan="2" align="center">Nombre des
une zone de texte doit être insérée et diviseurs</td>
une bouton ayant la valeur calculer, </tr>
après la saisie d’un nombre dans la <tr>
zone de texte et le click sur le bouton, <td width="36%">Nombre</td>
le nombre des diviseurs de ce <td width="64%"><input type="text" name="n" id="n"
nombre sera affiché dans un div au /></td>
dessous du bouton. </tr>
<tr>
<td> </td>
<td><input type="button" name="calculer"
id="calculer" value="calculer" onclick="nb_diviseurs
('n','nbdiv')"></td>
</tr>
<tr>
<td>Nombre de diviseurs:</td>
<td><div id="nbdiviseur"></div></td>
</tr>
</table>
<script>
function nb_diviseurs(n,nbdiviseur)
{ nc=document.getElementById(n).value;
var nint=parseInt(nc);
var nbdiv=0;
for (let i = 1; i <= nint; i++) {
if(nint%i==0)
nbdiv+=1;
}
document.getElementById("nbdiviseur").innerHTML = nbdiv;
}
</script>
Boucle While
Boucles while exécute un bloc de code tant qu'une condition spécifiée est vraie.
<html>
:Syntaxe <body>
<p id="demo"></p>
<script>
let text = "";
let i = 0;
Exemple 1 while (i < 10) {
text += "<br>The number is " + i;
Dans l'exemple suivant, le code de la boucle s'exécutera
i++;
tant qu'une variable (i) est inférieure à 10 :
}
document.getElementById("demo").innerHTML = text;
while (i < 10) {
</script>
text += "The number is " + i;
i++;
</body>
}
</html>
Méthodes sur les chaîne en Javascript
❑ Length : retoure la longueur d’une chaine de caractère
Résultat : Banana
❑ replace()
La méthode replace() remplace une valeur spécifiée par une autre valeur dans une chaîne :
La méthode indexOf() renvoie l'index (position) de la première occurrence d'une chaîne dans une chaîne :
Résultat : 7
❑ lastIndexOf()
La méthode lastIndexOf() renvoie l'index de la dernière occurrence d'un texte spécifié dans une chaîne :
Résultat : 21
❑ charAt()
La méthode charAt() renvoie le caractère à un index (position) spécifié dans une chaîne.
Resultat: H
Résultat: D
:Application 1
Créer un fichier HTML nommé
PGCD_PPCM dans lequel deux zones
de texte doit être insérées et deux
boutons ayant la valeur calculer
PGCD et calculer PPCM, après la
saisie de deux nombres dans les
zones de texte et le click sur le
bouton choisie, le calcul du PPCM ou
du PGCD sera fait et affiché dans un
div au dessous des bouton.
i++;