JavaScript
JavaScript
002
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
1. JavaScript : Présentation
Javascript est un langage de script côté client, c'est à dire qu'il est exécuté sur le navigateur.
Il a été créé en 1995 par Netscape Communication Corporation. A l'époque il s'appelait
LiveScript. Fin 1995, et suite à une association entre Netscape et SUN (créateur du fameux
langage Java), LiveScript s'est fait rebaptiser Javascript.
❑ Avantage: Le code source Javascript est chargé avec la page (en même temps que
HTLM et CSS). A la fin du chargement, tous les codes sont présents chez le client. Par
conséquent, l’exécution de Javascript est extrêmement rapide puisque tout est
disponible sur place. Inversement aux langages côté serveur comme PHP, qui
nécessitent à chaque fois l'interrogation du serveur, ce qui rend l’exécution plus lente.
002
003
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
2. Intégration de JS au code HTML
Pour écrire du code Javascript il faut le séparer des codes HTML et CSS en le
plaçant entre les balises <script> et </script>. Pour faire simple, imaginons que
je veux afficher le message "Bonjour " dans une boite de dialogue à l'aide de
Javascript. Le code de notre page ressemblerait à ceci:
002
004
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
2. Intégration de JS au code HTML
Les deux déclarations sont explicites:
▪ "Le langage utilisé dans les délimiteurs est Javascript".
▪ La deuxième déclaration est par contre plus appréciée vu qu'elle fournie
deux informations, à savoir le type et le MIME. Le type est text car Javascript
c’est du texte, et le MIME précise qu'il ne s'agit pas de n'importe quel texte
mais du Javascript
• Cependant, comme vous allez le découvrir dans ce cours, les codes Javascript ont
tendance à être plus ou moins longs (en fonction du traitement souhaité). Notre
document HTML sera donc plus ou moins volumineux si on y met directement nos
scripts. La solution consiste alors à déclarer le Javascript dans un fichier à part
(comme vous l’avez fait pour le CSS)
002
005
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
2. Intégration de JS au code HTML
Positionnement dans le code HTML
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> (Nous parlerons de la raison de ce choix quand ça sera temps).
002
006
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑ L’alphabet du langage
Constitué des caractères nécessaire pour écrire un programme
o les lettre de l’alphabet minuscule ou majuscule a-z ou A-Z
o Les chiffres de 0 à 9
o Les caractères spéciaux ]~#{[|`\^@]}$^….
o Les caractères de contrôle
Caractère Explication
\a caractère d’alerte
\b retour arrière
\f saut de page
\n nouvelle ligne
\r retour chariot
\t tabulation
002
007
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑ Les opérateurs Opérateur Explication
+ Addition
Opérateur Explication - Soustraction
== égalité * Multiplication
!= différence / Division réelle
< infériorité stricte % (modulo) reste d’une division
<= infériorité large entière
> supériorité op = avec op [+, -, *, /, %]
>= supériorité large ++ opérateur d’incrémentation
• Les opérateurs relationnels -- opérateur de décrémentation
• Les opérateurs arithmétiques
Opérateur Explication
&& Et logique
|| Ou logique
! Non logique
• Les opérateurs logiques
002
008
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑ Les opérateurs
Opérateur Explication
& Et logique
| Ou logique
! Non logique
^ Ou exclusil
<< Déplace les bits de gauche du nombre de bits indiqué par l’opérande
droit.
>> Déplace les bits vers la droite, y compris ceux qui servent à
représenter le signe.
>>> • Les
Déplace les bits vers la droite et comble opérateurs
par des zéros arithmétiques
pris à gauche.
• Les opérateurs binaires
Opérateur Explication
+ Concaténation
• L’opérateur concatenation
002
009
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑Les identificateurs
• Mots choisis par le concepteur du programme pour représenter les objets
du script.
• Exemples : nom de fonction, nom de variable, ….
• Constitué d’une suite de caractères alphanumériques dont le premier
est obligatoirement une lettre de l’alphabet ou le caractère de
soulignement.
• Il doit être expressif c’est-à-dire, choisi de telle sorte qu’il désigne bien
l’objet qu’il représente.
• Exemples :
• prix_TTC, valeur_max, deuxPI
• Contre exemple : 2PI
Remarque 1 : JavaScript est sensible à la casse
• prix_TTC, PRIX_TTC, prix_ttc désignent des objets distincts.
Remarque 2 : limitation de la longueur d’un identificateur
• C’est celle de la ligne ;
• Il doit tenir sur une seule ligne.
002
010
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑Les mots réservés
• Identificateurs prédéfinis du langage;
• Ne doivent pas être utilisés comme identificateur dans un script.
• Exemple :
• function, return, while, for…
❑Les commentaires
• Facilite la sa lecture d’un programme et sa maintenance.
• Ignorés par l’interpréteur JS.
• Permettent de clarifier le code pour soi-même ou pour autrui.
• Syntaxes :
• // commentaire
• un commentaire sur une seule ligne.
• /* commentaire */
• un commentaire sur plusieurs lignes.
002
011
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑ Les variables Portée des variables
- On appelle portée d'une variable, l'étendu de celle ci, c'est à dire jusqu'à quel
niveau elle sera reconnue dans un programme. Selon la portée, il existe deux
types de variables:
• Variable globale: Cette variable est accessible de partout dans le
programme, à l'intérieur des fonctions comme à l'extérieur.
• Variable locale: On parle plus précisément d'une variable locale à une
fonction. C'est une variable qui est accessible de l'intérieur de la fonction
dans laquelle elle est déclarée, mais pas de l'extérieur.
- si la variable est déclarée sans le mot clé var, alors elle est automatiquement
globale qu'elle soit déclarée à l'intérieur d'une fonction ou à l’extérieur.
- Par contre si elle est déclarée avec le mot clé var alors deux cas sont
envisageables:
- Si la variable est déclarée dans une fonction, alors elle est locale à cette
fonction.
- Si la variable est déclarée en dehors de toute fonction, alors elle est globale à
tout le programme.
002
012
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
3. Les bases du Javascript
❑ Exemple
002
013
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
4. Les structures de contrôle
❑ Les structures de contrôle
002
014
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
4. Les structures de contrôle
❑ Les structures de contrôle
002
015
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions
Une fonction est un sous-programme qui contient un ensemble d’instructions.
Ces instructions ne seront exécutées suite à l'appel de la fonction.
Les fonctions ont de nombreux avantages qu'on va résumer dans les points
suivants:
✓ Réutilisation du code
✓ Réduction de la taille du code
✓ Organisation du code
✓ Récursivité
Les fonctions constituent un aspect fondamentale quand on programme en
Javascript.
Où placer nos fonctions?
Javascript est un langage interprété. Par conséquent, on ne peut pas appeler une fonction
qu'après l'avoir créée (ou déclarée). Cependant la quasi totalité des appels se font à partir
de la balise <body>, il faut donc monter un peu plus haut dans le code HTML pour
déclarer nos fonctions Javascript. Y'a pas mieux que le <head> !
002
016
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions
Déclaration d’une fonction
• Se situe en dehors de toute autre fonction.
• Emplacement
• Dans la partie en-tête du fichier HTML
• Dans un fichier d’extension .js
• Appel d’une fonction
• s’effectue à l’intérieur ou à l'extérieur d’un sous-programme appelant.
002
017
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions
Exemple 1 : fonction dans le même fichier ([Link])
002
018
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions
Exemple 2 : fonction dans un autre fichier
002
019
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions prédéfinies
Fonction Signification
exp(x) Exponentielle de x
sqrt(x) Racine de x
abs(x) Valeur absolue de x
parseInt(x) Recherche un nombre entier au de la chaîne x
parseFloat(x) Recherche un nombre réel au sein de la chaîne x
eval(x) Permet d'évaluer l'expression x
Fonction eval()
Evalue et exécute le code
javascript contenu dans
chaine.
très utile pour générer du
code JS dans une chaîne de
caractères et l'exécuter.
([Link])
002
020
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Conversions de types
JS fournit deux fonctions permettant de convertir le type des variables passées en paramètre :
parseInt() et parseFloat().
• La fonction parseInt()
• permet de convertir une variable passée en paramètre (soit en tant que chaîne de
caractère, soit en tant que nombre dans la base précisée en second paramètre) et le
convertit en nombre entier (en base décimale).
• Syntaxe
• parseInt(chaine[, base]);
Exemples Résultat Exemples Résultat
parseInt("128.34"); 128 parseInt("AF8BEF",16); 11504623
parseInt("12.3E-6"); 12 parseInt("AB882F",16); 11241519
parseInt("12E+6"); 12 parseInt("0xAB882F"); 11241519
parseInt("Bonjour"); NaN parseInt("0xAB882F",16); 11241519
parseInt("24Bonjour38"); 24 parseInt("00100110"); 32840
parseInt("Bonjour3824"); NaN parseInt("00100110",2); 38
parseInt("AF8BEF"); NaN parseInt("00100110",8); 32840
parseInt("0284"); 2 parseInt("00100110",10); 100110
parseInt("0284",8); 2 parseInt("00100110",16); 1048848
002
021
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions prédéfinies
La fonction parseFloat()
permet de convertir une variable passée en paramètre en nombre en virgule
flottante (nombre avec une partie décimale).
Syntaxe :
parseFloat(chaine);
Pour que la fonction parseFloat() retourne un flottant, la chaine passée en
paramètre doit commencer par des caractère valides c'est-à-dire les chiffres [0-9]
et/ou les caractères +, -, E et e.
Dans le cas contraire la fonction parseFloat() retournera la valeur NaN (Not a
Number). Exemple Résultat
parseFloat("128.34"); 128.34
parseFloat("128,34"); 128
parseFloat("12.3E-6"); 0.0000123
parseFloat("Bonjour"); NaN
parseFloat("24.568Bonjour38"); 24.568
parseFloat("Bonjour38.24"); NaN
parseFloat("AF8BEF"); NaN
parseFloat("0284"); 284
parseFloat("0xAB882F"); 0
002
022
INP-HB / Ecole
INP-HB Ecole Supérieure
Supérieure d’Industrie
d’Industrie / TS
TS STIC
STIC 2-INFO
2-INFO / Cours
CoursJSJS2022-2023
2022-2023
5. Les fonctions
Les fonctions prédéfinies
Exemple : [Link]
023
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1
Exercice n°1 : Réaliser des scripts simples avec JavaScript.
a) Ecrire une page HTML contenant un script permettant d’afficher « Bonjour tout
le monde »
b) Améliorer le script pour qu’il permette de demander le Prénom de l’utilisateur
(méthode prompt()) et afficher « Bonjour ‘votre prénom’».
Exercice n°3 :
Ecrire le code d'un fichier HTML qui permet de saisir trois notes (DC1, DC2, DS)
puis calcule et affiche la moyenne.
024
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1
Exercice n°4 : Calcul simple
Refaire l'exercice n°1 en utilisant une fonction Moyenne, traiter toute les
possibilités d’emplacement d’une fonction :
- Entre <BODY> et </BODY>
- Entre <HEAD> et </HEAD>
Exercice n°6 :
Ecrire le code d'un fichier HTML qui permet de saisir le numéro du mois et l’année
puis affiche le nombre de jours.
025
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1
Exercice n°7 : Boucle for simple.
Ecrire une page HTML faisant apparaître les nombres premiers compris entre 0 et
100.
Exercice n°8 : Boucle for (insertion des balises HTML dans les scripts).
Ecrire une page HTML faisant apparaitre la table de multiplication pour les entiers
compris entre 0 et 9 et présenter le résultat dans un tableau [11 x 11]
Exercice n°9
1. Créer la fonction somRec(i), en utilisant le principe de récurcivité, qui renvoie
— Somme indéfinie si i n’est pas un nombre entier ou i < 0.
— la valeur de 1 + 2 + · · · + i dans le cas contraire.
2. Créer la fonction somFor(i) qui permet de faire la même chose que somRec(i),
tout en utilisant la boucle for.
3. En utilisant la métode prompt(), faites de sorte qu’une boîte s’ouvre pour
demander au visiteur d’Entrer un entier positif avec la valeur par défaut 0. Cette
valeur est récupérée par la fonction somRec() qu’on utilise pour afficher : la valeur
de somRec(valeur) est : valeur de somRec(valeur).
4. Mettez en commentaire tout ce qu’on a fait dans la question précédente.
026
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
027
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
028
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
029
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
030
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
031
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
032
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
033
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
034
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
035
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratiques 1 / Correction
036
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
Javascript est un langage événementiel. Donc les scripts déclarés dans la page ne
sont pas destinés à s’exécuter séquentiellement, linge après ligne, du début à la fin.
Mais ils attendent jusqu'à ce qu’un événement soit détecté pour qu'une partie du
code s’exécute.
Un événement est une action de l'utilisateur qui peut se produire sur le navigateur.
Le plus célèbre est sans doute le clic qui peut survenir sur un objet quelconque
(hyperlien, image, bouton...). Le navigateur écoute les événements qui se produisent
sur la page Web puis les transmet au script par le biais de ce que l'on appelle le
gestionnaire d’évènements.
Gestionnaire d'événements
Le gestionnaire d'événements permet d'associer un traitement à un événement.
Sa syntaxe respecte la forme suivante:
onEvénement = "code Javascript édité directement ici, ou fonction appelée à cet endroit"
037
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
Il faut noter que onEvénement est un attribut HTML, et ce qui est entre les
guillemets est sa valeur. Donc la ligne précédente est intégrée directement dans
une balise HTML. Cependant, même si ce qui se trouve entre les guillemets est
purement du code Javascript, nous ne le mettons pas dans les tags de script
(<script> et </script>).
038
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
039
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
Le fait de cliquer sur le bouton donne naissance à l’événement click qui appellera
(grâce au gestionnaire d'événements) la fonction f() définie dans le <head>. On
aura donc le message "Vous avez bien cliqué sur le bouton!" qui s'affichera dans
une boite de dialogue alert().
040
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Événement Description
onAbort Abandon du chargement d'une image
onBlur Désactivation d'un élément
onChange Modification d'un champ de texte
onClick Clic gauche sur un élément
onDblclick lors d'un double-clic sur le bouton gauche
Liste des événements Javascript
042
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
043
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
6. Les évènements
Javascript: un langage événementiel
044
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
7. Les objets
Javascript: langage de programmation orienté prototype
045
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
7. Les objets
Hiérarchie des objets
Les objets Javascript qui dépendent du contenu d'un document HTML sont
structurés hiérarchiquement. C'est à dire que des objets s’emboîtent dans d'autres
jusqu'à atteindre l'objet le plus élevé à l’échelle de la hiérarchie.
L'objet le plus élevé est la fenêtre du navigateur, il est identifié par le nom window.
Cet objet peut être manipulé directement à travers des fonctions qui lui sont
prédéfinies. On appelle ces fonctions des méthodes. A titre d'exemple alert() qui
affiche les messages des exemples précédents est une méthode de l'objet window,
on aurait pu donc l'écrire comme ceci: [Link]().
046
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
7. Les objets
• Un objet peut représenter un élément HTML (image, texte, formulaire...) ou un
élément propre au Javascript qui sert à exécuter des traitements spéciaux.
• Une méthode est une fonction prédéfinie appartenant à l'objet et qui permet de
faire les traitement sur celui-ci (on peut dire qu'elle décrit le comportement de
l'objet).
• Un attribut est une variable qui appartient à l'objet . il représente une propriétés
ou caractéristique de celui-ci. On peut le manipuler grâce aux méthodes ou
directement.
047
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
8. l’objet Array
• Cet objet permet de créer des tableaux.
• Ses méthodes sont :
Méthodes Explication
join() Rassemble tous les éléments en une chaîne, séparée par des virgules
ou par un signe particulier (en argument du join()).
reverse() Inverse l'ordre des éléments d'un tableau.
length() Cet attribut retourne la taille du tableau, c'est à dire le nombre
d'élément que celui-ci contient.
sort() Trie les éléments du tableau par ordre alphabétique.
048
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
8. l’objet Array
• Cet objet permet de créer des tableaux.
• Ses méthodes sont :
Méthodes Explication
join() Rassemble tous les éléments en une chaîne, séparée par des virgules
ou par un signe particulier (en argument du join()).
reverse() Inverse l'ordre des éléments d'un tableau.
sort() Trie les éléments du tableau par ordre alphabétique.
049
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
8. l’objet Array
• Cet objet permet de créer des tableaux.
• Ses méthodes sont :
Méthodes Explication
join() Rassemble tous les éléments en une chaîne, séparée par des virgules
ou par un signe particulier (en argument du join()).
reverse() Inverse l'ordre des éléments d'un tableau.
sort() Trie les éléments du tableau par ordre alphabétique.
Tableau à plusieurs dimensions
050
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
9. l’objet String
Toute variable de type chaîne est un objet String.
Cet objet possède une seule propriété qui est length (longueur de la chaîne.)
Conversion de chaînes
Méthode Explication
toUpperCase() conversion en majuscule.
toLowerCase() conversion en minuscule
toString() conversion d'un nombre en chaîne de caractères
051
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
9. l’objet String
• substring(i, j)
• extraction de la sous-chaîne allant de i à ( j-1)
• i : position de départ (le 1er caractère d'une chaîne a l'indice 0).
• j : position d'arrivée
• Exemple
• texte = « Konan Armand"
• t1 = [Link](1,3) //donne t1=« on"
• t1 = [Link](0,5) //donne t1=« Konan"
• charAt(i)
• permet d'extraire un seul caractère.
• i : le ième caractère (le 1er commençant par 0).
• Exemple
• c1 = [Link](0) //c1 = „K"
• c1 = [Link](3) //c1 = "a"
052
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
9. l’objet String
• split() :
• transforme une chaîne en une matrice de chaînes d'après un signe de
séparation spécifié.
• Recherche de sous-chaînes
• indexOf(mot)
• recherche la sous-chaîne mot dans la chaîne courante.
• indexOf(mot, i)
• recherche la sous-chaîne mot dans la chaîne courante à partir du ieme
caractère.
• lastIndexOf(mot)
• idem indexOf(mot) mais la recherche commence à partir de la fin du
mot courant.
• lastIndexOf(mot, i)
• idem indexOf(mot, i) mais la recherche commence à partir de la fin
du mot courant.
• En cas de succès, ces fonctions retournent l'index de mot.
• En cas d’erreur, ces fonctions retournent –1.
053
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
9. l’objet String
Mise en forme des chaînes
méthodes signification
String big() Retourne la chaîne encadrée par des balises <big></big>
String blink() Retourne la chaîne encadrée par des balises <blink></blink>
String bold() Retourne la chaîne encadrée par des balises <b></b>
String fixed() Retourne la chaîne encadrée par des balises <tt></tt>
String fontcolor(String Retourne la chaîne encadrée par les balises <font
color) color="ma_couleur"></font>
String fontsize(mixed Retourne la chaîne encadrée par les balises <font
size) size="ma_taile"></font>
String italics() Retourne la chaîne encadrée par des balises <i></i>
String small() Retourne la chaîne encadrée par des balises <small></small>
String strike() Retourne la chaîne encadrée par des balises <strike></strike>
String sub() Retourne la chaîne encadrée par des balises <sub></sub>
String sup() Retourne la chaîne encadrée par des balises <sup></sup>
054
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
9. l’objet String
Mise en forme des chaînes
055
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
10. l’objet Math
L'objet Math
• Permet d’accéder, à toutes les fonctions et constantes mathématiques.
• Principales propriétés : Ce sont les valeurs des constantes classiques de
mathématiques.
Propriété Description
E Retourne la valeur d'Euler (logarithme)
LN10 Retourne la valeur du logarithme 10 (soit 2.302)
LN2 Retourne la valeur du logarithme 2 (soit 0.693)
LOG10E Retourne la valeur de la base 10 du logarithme (soit 0.434)
LOG2E Retourne la valeur de la base 2 du logarithme (soit 1.442)
PI Retourne la valeur de pi (soit 3.1415)
SQRT1_2 Retourne la valeur de la racine carrée de 0.5 (soit 0.707)
SQRT2 Retourne la valeur de la racine carrée de 2 (soit 1.414)
056
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
10. l’objet Math
Fonctions mathématiques à usage standard
✓ [Link](x): calcule la valeur absolue de x.
✓ [Link](x): retourne l'arrondi supérieur de x. Il s'agit du nombre entier
immédiatement supérieur ou égal à x.
✓ [Link](x): retourne l'arrondi inférieur de x. Il s'agit du nombre entier
immédiatement inférieur ou égal à x.
✓ [Link](x): retourne l'arrondi le plus proche (supérieur ou inférieur) de x
✓ [Link](x,y): retourne le nombre plus grand parmi x et y.
✓ [Link](x,y): retourne le nombre plus petit parmi x et y.
✓ [Link](x,y): retourne x à la puissance y.
✓ [Link](x): retourne la racine carré de x.
058
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
11. l’objet Date
L'objet Date
• Permet de travailler avec toutes les variables qui concernent les dates et la
gestion du temps.
• Syntaxes :
• d=new Date() :
• permet de stocker la date et l'heure actuelle
• d=new Date("jour,mois,date,année,heures:minutes:secondes")
• les paramètres sont une chaîne de caractère.
• d=new Date(année, mois, jour) :
• les paramètres sont trois entiers séparés par des virgules.
• Les paramètres omis sont mis à zéro par défaut .
• d=new Date(année,mois,jour,heures,minutes,secondes[,ms]) :
• les paramètres sont six entiers séparés par des virgules. Les
paramètres omis sont mis à zéro par défaut
059
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
11. l’objet Date
L'objet Date
Exemples :
• d = new Date(); //date courante
• d = new Date("30 juin, 2000 08:00:00");
• d = new Date("2009, 06, 30");
• d = new Date("2009, 06, 30, 08, 00, 00);
060
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
11. l’objet Date
Méthode Description Type de valeurs retournée
Récupère la valeur du jour du Retourne un entier (entre 1 et 31) qui correspond au
getDate()
mois jour du mois :
récupère la valeur du jour de la Retourne un entier qui correspond au jour de la
getDay()
semaine pour la date spécifiée semaine : 0: dimanche ; 1: lundi ...
récupère la valeur de l'année sur
getFulllYear() Retourne un entier qui correspond à l'année (XXXX)
4 chiffres pour la date.
Retourne un entier (entre 0 et 23) qui correspond à
getHours() récupère la valeur de l'heure
l'objet Date.
Retourne un entier (entre 0 et 999) qui correspond
getMilliseconds() récupère le nombre de ms
aux millisecondes de l'objet passé en paramètre.
Retourné un entier (entre 0 et 59) qui correspond aux
getMinutes() récupère la valeur des minutes
minutes de l'objet Date.
retourne est un entier (entre 0 et 11) qui correspond
getMonth() récupère le numéro du mois
au mois : 0: janvier ; 1: février ...
Retourné un entier (entre 0 et 59) qui correspond aux
getSeconds() récupère le nombre de secondes
secondes de l'objet passé en paramètre.
récupère le nombre de ms depuis Retourne un entier. Utile pour convertir des dates,
getTime()
le 1er janvier 1970 soustraire ou ajouter deux dates, etc.
Retourne la différence entre
Retourne un entier, il représente le nombre de
getTimezoneOffset() l'heure locale et l'heure GMT
minutes de décalage
(Greenwich Mean Time)
récupère la valeur de l'année sur
getYear() retourne est un entier qui correspond à l'anné (XX) :
2 chiffres pour l'objet Date.
061
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
11. l’objet Date
Méthode Description Type de valeurs retournée
convertit une date en une
Retourne une chaîne de caractère du type :
toGMTString() chaîne de caractères au
Wed, 28 Jul 1999 15:15:20 GMT
format GMT
convertit une date en une Retourne une chaîne de caractère dont la syntaxe
toLocaleString() chaîne de caractères au dépend du système, par exemple : 28/07/99
format local 15:15:20
fixe la valeur du jour du Paramètre entier (entre 1 et 31), correspond au
setDate(X)
mois jour du mois
fixe la valeur du jour de laParamètre entier, correspond au jour de la
setDay(X)
semaine semaine : 0: dimanche ; 1: lundi ...
Paramètre entier (entre 0 et 23), correspond à
setHours(X) fixe la valeur de l'heure
l'heure
Paramètre entier (entre 0 et 59), correspond aux
setMinutes(X) fixe la valeur des minutes
minutes
Paramètre entier (entre 0 et 11), correspond au
setMonth(X) fixe le numéro du mois
mois : 0: janvier ; 1: février ...
Paramètre entier représentant le nombre de
setTime(X) assigne la date
millisecondes depuis le 1er janvier 1970
062
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
12. l’objet RegExp
Expressions régulières
C'est grâce à l'objet RegExp que l'on peut créer un model (ou occurrence). La
syntaxe ressemble à ceci: expression = new RegExp(‘occurrence’)
expression est l'objet qui contient le model qu'on a créé à l'aide de l'objet RegExp.
En paramètres de celui ci, nous déclarons une chaîne de caractères qui
représente l'expression régulière elle même.
063
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
12. l’objet RegExp
Caractère spécial Signification
. Un seul caractère quelconque
il faut déspécialiser les caractères spéciaux si on souhaite les chercher en tant que
motif (ou occurrence).
Expression = new RegExp(‘\^’);
065
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
12. l’objet RegExp
Expressions régulières
L'expression ^\w+ peut être remplacée par ^[a-zA-Z0-9_]+. En effet, il existe des
abréviations qui peuvent remplacer les occurrences fréquemment utilisées
comme \w qui signifie tous les caractères alphanumériques minuscules ou
majuscule e plus du caractère souligné. \t pour tabulation, \n pour saut de
ligne, \d pour les caractères numériques...
expression=new RegExp("^\w+");
066
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
L'objet window : le parent de tous les objets de la page
[Link] = "[Link]";
067
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
L'objet window : le parent de tous les objets de la page
La barre d'état est la petite barre qui se trouve (d'une manière permanente ou
temporaire) en bas du navigateur et qui affiche souvent des informations comme
la cible d'un lien hypertexte survolé ou l'état de chargement des éléments de la
page. Javascript permet de personnaliser le message à afficher sur la barre d'état
grâce à l'attribut status. Le message souhaité lui est affecté en tant que chaîne de
caractères.
068
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
L'objet window : le parent de tous les objets de la page
069
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
L'objet window : le parent de tous les objets de la page
070
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
071
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
072
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
Pop-Up: méthodes open() et close()
Pour ouvrir une fenêtre on utilise la méthode open() et pour la fermer, en plus du
bouton de fermeture de la fenêtre par défaut, on peut faire appel à la méthode
close().
073
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
Pop-Up: méthodes open() et close()
074
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
▪ width: spécifie la largeur de la fenêtre en pixel (l'unité n'est pas spécifiée).
▪ height: hauteur de la fenêtre.
▪ location: peut avoir yes ou no pour autoriser ou non l’apparition de la barre
d'adresse.
▪ resizable: peut avoir yes ou no pour autoriser ou non le redimensionnement
de la fenêtre.
▪ menubar: peut avoir yes ou no pour autoriser ou non l’apparition du menu
du haut de la fenêtre.
▪ scrollbar: peut avoir yes ou no pour autoriser ou non l’apparition des barres
de défilement
▪ toolbar: peut avoir yes ou no pour autoriser ou non l'affichage de la barre
d'outils.
▪ status: peut avoir yes ou no pour autoriser ou non l’apparition de la barre
d'état.
Les options doivent être séparées d'une virgule (sans espaces). Selon le
navigateur, toute option non déclarée reçoit implicitement la valeur no
075
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
076
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
13. l’objet window
Temporisateur: méthodes setTimeout() et clearTimeout()
Il faut dire que la méthode setTimeout() est largement utilisée en Javascript.
077
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
14. l’objet event
Une autre manière pour gérer les événements
L'objet event permet de fournir des détails supplémentaires sur l'événement qui
vient de se produire. Par exemple, l’événement keyDown indique que l'utilisateur
vient d'appuyer sur une touche du clavier, mais on ne sait pas quelle touche
exactement. Avec l'objet event il est possible de préciser ce genre de détail et bien
plus encore
L'objet event se propage dans l'arbre du DOM selon le flux d'événement décrit ou
par défaut.
Flux d'événements
Jusqu'ici, on sait que l'événement se produit sur un objet, et on le capture par le
biais du gestionnaire d'événements (statique ou dynamique).
078
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
14. l’objet event
Nous avons placé un gestionnaire d'événements sur le lien (balise <a>) en faisant
appel à la fonction f() (que je n'ai pas défini, car ce n'est pas ce qui nous intéresse
ici). Alors, logiquement, c'est le texte "Hyperlien" du lien hypertexte qui est
concerné par l'événement click. Cependant , les choses ne se déroulent pas aussi
simplement.
Regardons un peu comment la hiérarchie est établie dans ce cas:
079
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
14. l’objet event
Chacun des rectangles représente un objet déclaré dans le dernier code (l'objet
document étant le document HTML lui même).
Le fait de cliquer sur l'hyperlien (objet A), revient à cliquer également sur son
conteneur qui est l'objet DIV, ce qui implique qu'on a aussi cliqué sur son parent
qui est l'objet SECTION ce qui signifie aussi qu'on a cliqué sur leur parent à tous,
l'objet DOCUMENT.
080
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
14. l’objet event
Le flux de propagation de l'événement click évolue comme ceci:
C'est de cette manière qu'un événement est capturé en Javascript, mais on peut
changer ce comportement par défaut si on souhaite, et on peut même
interrompre le flux de propagation de l'événements (c'est ce qu'on va voir aussi
dans cette partie).
081
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
14. l’objet event
Méthodes, attributs et sous-objets de l'objet event
Méthodes associées à event
Deux méthodes sont les plus connus pour l'objet event:
▪ preventDefault(): Cette méthode empêche le navigateur d'entamer une action
par défaut. Par exemple, le fait de cliquer sur un bouton de
type submit redirige le navigateur vers la page définie dans l'attribut action du
formulaire, ce qui représente le comportement par défaut. Or, si on déclare
convenablement la méthode preventDefault(), le navigateur n'entamera pas la
redirection
On peut remplacer cette méthode par un simple return false.
082
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
083
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Arborescence et nœuds
Nous avons déjà parlé de la hiérarchie des objets en Javascript. Il s'agit en fait de la
manière dont sont présentés les différents éléments constituant le contenu (un
objet parent qui contient des objets enfants qui, à leurs tours, contiennent d'autres
objets et ainsi de suite).
L'ensemble des ces objets constitue une arborescence (connue aussi sous le nom
arbre HTML, si le document en question est HTML). Cet arbre est en fait une
structure d'éléments qui représentent des nœuds. Il existe deux types de nœuds,
nœuds éléments et nœuds texte. Les nœuds éléments sont tout simplement les
balises et les nœuds textes sont les textes contenus dans un document HTMBL
Méthodes et sous-objets
Méthodes de base de l'objet document
Il existe de nombreux méthodes (et attributs) qui s'appliquent sur l'objet
document. La méthode write() permet d'écrire la chaîne de caractères passée en
paramètre directement dans le document.
084
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Exemple 2
<form>
<input type="text" name="login" />
</form>
<script language="javascript">
[Link][0].[Link]="ABC";
</script>
Dans cet exemple, on accède à la zone de texte nommée "login" hiérarchiquement.
Nous avons appelé le formulaire qui la contient par l'objet forms qui fait référence
à tous les formulaires du document. L'index 0 désigne le premier formulaire
déclaré.
086
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
087
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
<img src="[Link]" id="im1" />
<img src="[Link]" />
<img src="[Link]" />
<script language="javascript">
[Link]("im1").src="[Link]";
for(i=1;i<[Link]("img").length;i++)
[Link]("img")[i].src="[Link]";
</script>
Le premier objet image a été désigné par son identifiant "im1". Les deux derniers
ont été désignés par leur nom de balise (TagName) qui correspond évidemment à
"img". Puisqu'il s'agit d'un tableau, alors on a précisé les indexes des objets à cibler
entre les crochets.
088
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
Après avoir ciblé nos objets, que pouvons nous faire à part changer la source des images et
désigner une zone de texte?
Attribut innerHTML
Jusqu'ici, nous avons pu écrire des textes dans des champs de formulaire et des boites de
dialogue. Mais si on veut écrire n'importe où dans la balise <body> alors on peut le faire
grâce à l'attribut innerHTML.
Attribut className
L'attribut className renomme l'attribut class d'un élément. C'est pratique pour
appliquer des styles CSS dynamiquement à l'objet en question.
089
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.nouvelleClasse{
color:#FFFFFF;
font-size:18pt;
background-color:#000000;
padding:10px;
}
</style>
<script language="javascript">
function changer(){
[Link]("h1").item(0).className="nouvelle
Classe";
}
</script>
</head>
<body>
<h1>Titre d'order 1</h1>
<input type="button" value="Changer l'apparence" onclick="changer()"
/>
</body>
</html>
090
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
Sous-objet style
Le sous-objet style permet de définir dynamiquement un attribut de style
local style sur la balise concernée..
<span id="citation">
Mieux vaut dormir tard tôt que de dormir tard tard !
</span>
<script language="javascript">
[Link]("citation").[Link]="#888888";
[Link]("citation").[Link]="italic";
</script>
Je crois que vous avez compris l'astuce. Les attributs du sous-objets style sont les propriétés que
nous avons déjà vu en CSS. Si la propriété est composée, alors le tiret et enlevé et le caractère
immédiatement suivant est capitalisé. Par exemple font-style devient fontStyle et text-
decoration devient textDecoration...
La valeur à appliquer à l'attribut est la même que celle que vous auriez déclarée en CSS, juste
que cette fois, il faut la placer entre des guillemets, car elle est vue en Javascript en tant que
chaîne de caractères
091
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
Méthode setAttribute()
Si on veut changer dynamiquement la valeur d'un attribut d'une balise alors on fait
appel à l'attribut setAttribute.
<div align="left">
Contenu de la DIV.
</div>
<script language="javascript">
[Link]("div").item(0).setAttribute("
align","center");
</script>
L'attribut align avait comme valeur "left". Une fois le script exécuté, sa nouvelle
valeur devient "center". La méthode setAttribute accepte deux paramètres; le
premier est le nom de l'attribut à modifier, le second est la valeur qu'on souhaite
lui attribuer.
092
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Autres façons pour accéder aux sous objets de document
Méthode getAttribute()
La méthode getAttribute permet de récupérer la valeur de l'attribut passé en
paramètre.
<video src="[Link]" id="publicite"></video>
<script language="javascript">
alert([Link]("publicite").getAttribute("src"));
</script>
093
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Création, intégration et suppression des éléments
Méthode createTextNode()
La méthode createTextNode permet de créer un nœud texte.
message=[Link]("Bonjour à tous.");
Méthode appendChild()
La méthode appendChild ajoute un enfant à l'objet sur lequel elle est appelée.
L'enfant peut être un nœud élément ou un nœud texte.
094
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
<head>
<meta charset="UTF-8" />
<style>
.maclasse{
width:200px;
height:60px;
background-color:#EE6600;
margin:10px;
font:14pt verdana;
padding:10px;
color:#FFFFFF;
}
</style>
<script language="javascript">
function ajouter(){
baliseDIV=[Link]("div");
[Link]="maclasse";
message=[Link]("Bonjour à tous.");
[Link](message);
[Link]("madiv").appendChild(baliseDIV);
}
</script>
</head>
<body onLoad="decoup()">
<input type="button" value="Ajouter une DIV" onClick="ajouter()" />
<div id="madiv"></div>
</body> 095
15. l’objet DOM
Création, intégration et suppression des éléments
Méthode insertBefore()
La méthode insertBefore() ajoute un nouveau nœud enfant dans l'élément parent sur
lequel elle est appelé. Si appendChild() ajoute le nœud à la fin, insertBefore quant à
elle permet de spécifier avant quel élément on veut insérer le notre.
096
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<style>
.maclasse{
width:200px;height:60px;background-color:#EE6600;
margin:10px;font:14pt verdana;padding:10px;color:#FFFFFF;}
</style>
<script language="javascript">
function ajouter(){
baliseDIV=[Link]("div");
[Link]="maclasse";
message=[Link]("Bonjour à tous.");
[Link](message);
[Link]("madiv").insertBefore(baliseDIV,docum
[Link]("monimage")); }
</script>
</head>
<body onLoad="decoup()">
<input type="button" value="Insérer une DIV" onClick="ajouter()" />
<div id="madiv">
<img src="images/[Link]" id="monimage" />
</div>
</body>
</html> 097
15. l’objet DOM
Création, intégration et suppression des éléments
Méthode removeChild()
La méthode removeChild() supprime l'enfant passé en paramètre du parent sur
lequel il est appelée.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script language="javascript">
function supprimer(){
[Link]([Link]("monima
ge"));
}
</script>
</head>
<body>
<input type="button" value="Supprimer l'image"
onClick="supprimer()" /><br />
<img src="images/[Link]" id="monimage" />
</body>
</html>
098
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Mot-clé this
Le mot clé this fait référence à l'objet sur lequel il est déclaré. Il permet de
simplifier la désignation des objets à travers le DOM. Au lieux de cibler un
élément à travers son ID ou ton tagName, this raccourcie visiblement la syntaxe.
Supposons que nous disposons d'une image en noir et blanc qui, une fois survolé,
laisse place à une l'image en couleur. On peut écrire le code comme ceci:
<script language="javascript">
tabImages=new
Array("images/[Link]","images/[Link]");
function changerImage(indice,image){
[Link]=tabImages[indice];
}
</script>
<img src="images/[Link]"
onMouseOver="changerImage(1,this)"
onMouseOut="changerImage(0,this)" />
099
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM
Le mot clé this fait référence à l'image, car c'est sur celle-ci qu'il est déclaré et
passé en paramètre de la fonction changerImage(). Une autre astuce consiste à
placer les chemins des images dans un tableau, ce qui rend le code plus lisible et
facilement modifiable.
100
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
L'objet Forms
• On peut faire référence à chaque formulaire par son nom fourni par l'attribut
NAME de la balise FORM ou par son index dans la matrice forms[].
• document.form1 et [Link][0]
• désignent le premier formulaire d'un document.
• Exemple : [Link]
• Ce document contient deux formulaires :
• <FORM NAME="FormInscription" METHOD="POST"
ACTION="[Link]
• <FORM NAME="FormConnexion METHOD="POST"
ACTION=“[Link]@[Link]">…</FORM>
101
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
Propriétés Description
bgColor Représente la couleur de fond, spécifiée par l'attribut BGCOLOR
fgColor Représente la couleur du texte, spécifiée par l'attribut TEXT
lastModifie Indique la date de la dernière mise à jour du document (communiquée par le
d serveur)
linkColor Représente la couleur des liens non encore visités, spécifiée par l'attribut LINK
location Egalement notée URL, indique l'URL du document
referrer Représente l'URL précédemment visitée
title Donne le titre du document, définit par la balise <TITLE>
vlinkColor Représente la couleur des liens déjà visités
Méthodes Description
clear() Efface le document qui vient d'être fermé
close() Ferme un canal d'affichage et fait apparaître le qui vient d'être rédigé
open() Ouvre un canal d'affichage et efface le document à l'écran
write() Rédige un nouveau texte
writeln Rédige un nouveau texte avec des signes de retour chariot
Objets fils Description
[Link] Représente une matrice dont les éléments sont les formulaires du
document
[Link] Représente une matrice dont les éléments sont les liens du document
[Link] Représente une matrice dont les éléments sont les ancres du document
[Link] Représente une matrice dont les éléments sont les images du document
[Link] Représente une matrice dont les éléments sont les applets du document 102
15. l’objet DOM /Form
Soit le formulaire suivant :
103
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
• Récupérer le contenu d’un champ de type TEXT
• [Link]
• Exemple pour le champ nom du formulaire FormInscription
• [Link]
• Modifier le contenu d’un champ de type TEXT
• document. [Link] = valeur
• Exemple pour le champ nom du formulaire FormInscription
• [Link] = "Toto"
• Récupérer la valeur d’une liste déroulante
• Index de l'élément sélectionné (0, 1, 2…)
• i = [Link];
• Valeur de l’index sélectionnée
• valeur = [Link][i].value;
• Exemple pour le champ pays du formulaire FormInscription
• i = [Link];
• valeur = [Link][i].value;
104
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
• Les propriétés
• Référence à chaque formulaire
• [Link][0] : représente le formulaire FormInscription
• [Link][1] : représente le formulaire FormConnexion
• Référence au premier élément d'un formulaire : le champ texte
Name="nom"
• [Link][0]
• [Link].nom1
• Nombre de formulaire dans un document
• [Link]
• Nombre d'éléments dans un formulaire
• [Link]
• Les méthodes
• submit() : joue le même rôle que le bouton SUBMIT, mais sans
l'intervention de l'utilisateur.
• reset() : joue le même rôle que le bouton RESET, mais sans l'intervention de
l'utilisateur.
105
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
Champ de text et champ de mot de passe et zone de texte
Description
Propriétés name Nom donné au champ
defaultValue Valeur par défaut
value Valeur en cours du champ
Description
Méthodes focus() Active le champ en y positionnant le curseur
blur() Désactive le champ
select() Sélectionne la totalité du champ
Description
onFocus() Active du champ
Evénements onBlur() Désactive du champ
onChange() Modification du champ ou passage à un champ
onSelect() Sélection d'une partie ou la totalité du texte
106
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
15. l’objet DOM /Form
Description
name Nom donné à la case à cocher et à l'objet
Case à cocher
Propriétés Description
name Nom donné au groupe de boutons
length Nombre de boutons dans le groupe
Radio bouton
Propriétés Description
name Nom donné au champ
value Valeur du champ
108
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
16. Gestion des exceptions
Bloc try catch
La gestion des exceptions est faite grâce au bloc try catch. Cela signifie qu'on
demande au moteur Javascript (interpréteur) d'essayer d’exécuter un bout de
code. Si tout va bien alors tant mieux, sinon on doit attraper (ou détourner)
l'erreur et faire un traitement alternatif.
110
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°2.
1. Insérez trois paragraphes d’identificateurs par1, par2, par3
et de contenu paragraphe numéro 1, de contenu paragraphe numéro 2, de
contenu paragraphe numéro 3 respectivement.
3. Insérer un formulaire contenant une balise select dont les options sont :
vide, par1, par2, par3 de valeurs correspondantes 0, 1, 2, 3.
111
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°3
Ecrire un fichier [Link] permettant de calculer la TVA sur un produit : La tva
sur un produit agricole est 0%, et sur un produit non agricole est19%
112
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°4
Ecrire un fichier [Link] permettant de réviser quelques multiplications :
113
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°5.
1. Écrire une page [Link]. Lorsque cette page se charge, une boite de
dialogue de type prompt s’ouvre pour demander à l’utilisateur de choisir la
couleur de fond. Le texte de la boite de dialogue propose trois choix (gris, bleu,
vert). Voici les codes couleurs associés :
— Gris : #C0C0C0
— Bleu : #669999
— Vert : #99FF66
2. Créez une nouvelle page dans laquelle l’utilisateur choisira la couleur de fond
à partir d’un menu déroulant
114
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°6.
1. Ecrire une page [Link] permettant d’afficher la table de
multiplication pour un nombre donné par l’utilisateur.
2. Changez la fonction écrite dans la question 1, pour qu’elle renvoie Entrer
une valeur valable lorsque la valeur entrée n’est pas un entier.
115
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Exercice n°7.
On souhaite afficher, dans une zone de texte, 4 messages consécutifs: "Bonjour à
tous.", "Cette phrase", "est affichée" et "lettre par lettre." de telle sorte à ce que
chaque message s'affiche lettre par lettre et non pas d'un seul coup.
Exercice n°8. Contrôle de nombre de caractères
Vous avez probablement envoyé un SMS gratuitement depuis le site Web de votre
opérateur mobile, où postulé votre site Web à un annuaire de recherche en vue d'en
acquérir un back-link. Si c'est le cas, alors vous avez certainement compris l'objectif
de l'exercice.
Nous voulons créer un une zone de texte (ou espace de texte) pour que l’internaute
puisse y saisir un texte quelconque. On suppose que celui ci ne doit pas contenir plus
de 60 caractères. Pour que l'internaute ne soit pas surpris par le refus de son post
suite à un excès de caractères, nous allons prévoir une zone de texte en bas du
textarea qui affiche le nombre de caractères restants. Ce nombre sera
automatiquement calculé à chaque modification du texte par le clavier (pour
simplifier l'exercice, nous n'allons pas traiter le cas où l'internaute fait un copier-
coller dans la zone de saisie).
116
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Travaux Pratique 2
Si la taille du texte saisi dépasse la longueur maximale spécifiée, alors un message
alert() s'affiche pour signaler à l'internaute l'excès de caractères, en plus, tout ce qui
dépasse est automatiquement supprimé pour ne conserver que les 60 premiers
caractères autorisés.
117
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
118
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023
Références
[Link]
JavaScript : l'objet event & programmation du clavier - [Link]
Introduction aux évènements - Apprendre le développement web | MDN ([Link])
119
INP-HB Ecole Supérieure d’Industrie TS STIC 2-INFO Cours JS 2022-2023