Introduction à JavaScript et ses concepts
Introduction à JavaScript et ses concepts
JAVASCRIPT
DJE BI DJE GABIN
JAVASCRIPT
DJE BI DJE GABIN
SOMMAIRE
1. GENERALITES ................................................................................................................... 1
2. LE LANGAGE ..................................................................................................................... 1
3. LES STRUCTURES DE DONNEES .................................................................................... 7
4. LES OPERATEURS ........................................................................................................... 10
5. LES BOITES DE MESSAGE ............................................................................................. 16
6. LES FONCTIONS .............................................................................................................. 18
7. LES STRUCTURES DE CONTROLE ................................................................................ 24
8. LES EVENEMENTS .......................................................................................................... 30
9. MANIPULER DU CODE HTML ....................................................................................... 35
10. L’OBJET ARRAY ............................................................................................................ 46
11. L’OBJET NAVIGATOR................................................................................................... 51
12. L’OBJET MATH .............................................................................................................. 52
13. L’OBJET STRING............................................................................................................ 56
14.L’OBJET DATE ................................................................................................................ 61
15. LES COOKIES ................................................................................................................. 66
16. LES EXPRESSION REGULIERES .................................................................................. 70
17. FONCTIONS ET PROPRIÉTÉS ....................................................................................... 77
0
1. GENERALITES
2. LE LANGAGE
Le code s’intègre donc dans la page HTML avec les balises <script>.
Il existe deux façons d’intégrer votre code. La première consiste à le placer
entre les balises, tout simplement.
Syntaxe :
<script> code </script>
Exemple 2.1 :
<script >
var mavariable = 12 ;
[Link] (typeof(mavariable)) ;
1
</script>
Syntaxe :
<script src = "chemin_fichier"></script>
Exemple 2.2 :
<script src = "mon_fichier_javascript.js">
</script>
2
2.2. Spécificités du langage
Il est utile de commenter son code. Cela se fait à l’aide de ‘//’, tout le
texte suivant le double slash jusqu’à la fin de la ligne est ignoré par
l’interpréteur. Il est aussi possible de mettre des commentaires au milieu
d’une ligne, ou sur plusieurs ligne, en les encadrant avec « /* » et « */ »
3
POINTS IMPORTANTS A RETENIR
RÉFÉRENCES BIBLIOGRAPHIQUES
4
EXERCICES D’ASSIMILATION
<!DOCTYPE html>
<html>
<head>
<title>Site IUA Math-Info</title>
</head>
5
<body>
</body>
</html>
6
3. LES STRUCTURES DE DONNEES
3.1. Les données constantes
7
On distinguera ici la déclaration et l’affectation. La première
consiste à donner un nom à la variable alors que la seconde consiste à
donner une valeur à la variable. La différence est qu’une variable peut-être
affectée d’une valeur plusieurs fois alors qu’elle ne peut être définie qu’une
seule fois. L’exemple suivant illustre une définition sans affectation.
Exemple 3 :
var Numero;
Dans les exemples qui suivent, par facilité, j’ai regroupé l’affectation
avec la déclaration. Les variables peuvent être déclarées de deux façons :
Exemple 4 :
var Numero = 1 ;
var myVariable1, myVariable2= 4,
myVariable3;
8
3.2.2. Les noms réservés
Les mots de la liste ci-après ne peuvent être utilisés pour des noms de
fonctions et de variables. Certains de ces mots sont des mots clés
Javascript, d'autres ont été réservés par Netscape pour un futur usage
éventuel.
Lettre
Mot-clé
A abstract
D default / do / double
E else / extends
G goto
L long
R return
9
T this / throw / throws / transient / true / try
V var / void
W while / with
Dans une fonction, une variable déclarée par le mot clé var aura une
portée limitée à cette seule fonction. On ne pourra donc pas l'exploiter
ailleurs dans le script. D'où son nom de locale. Par contre, toujours dans
une fonction, si la variable est déclarée contextuellement (sans utiliser le
mot var), sa portée sera globale.
4. LES OPERATEURS
Comme tout langage informatique, JS possède des opérateurs pour
effectuer les calculs. Leur présentation est rapide, surtout pour les plus
simples.
[Link] opérateurs de calcul
Signe Nom Signification Résultat
Exemple
+ plus addition x+3 14
multiplié
* multiplication x*2 22
par
10
reste de la
% modulo x%5 1
division par
!= Différent x != 11 false
multiplié
*= x *= y x=x*y 55
égal
11
(condition1) && condition1 et
&& et
(condition2) condition2
condition1 ou
|| ou (condition1) || (condition2)
condition2
12
POINTS IMPORTANTS A RETENIR
RÉFÉRENCES BIBLIOGRAPHIQUES
14
que contient la variable (result);
result = number1 < number3;
que contient la variable (result);
15
5. LES BOITES DE MESSAGE
Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à
un événement, et qui permet
Soit d'avertir l'utilisateur
Soit le confronter à un choix
Soit lui demander de compléter un champ pour récupérer une
information
[Link]()
La méthode alert() permet d'afficher dans une boîte toute simple composée
d'une fenêtre et d'un bouton OK le texte qu'on lui fournit en paramètre. Dès
que cette boîte est affichée, l'utilisateur n'a d'autre alternative que de cliquer
sur le bouton OK.
Syntaxe :
alert (paramètres) ;
[Link]()
La méthode prompt est un peu plus évoluée que les deux
précédentes puisqu'elle fournit un moyen simple de récupérer une
information provenant de l'utilisateur, on parle alors de boîte d'invite. La
méthode prompt() requiert deux arguments :
le texte d'invite
la chaîne de caractères par défaut dans le champ de saisie
Syntaxe :
variable = prompt ("texte", "valeur");
[Link]()
La méthode confirm() est similaire à la méthode alert(), si ce n'est qu'elle
permet un choix entre "OK" et "Annuler". Lorsque l'utilisateur appuie sur
"OK" la méthode renvoie la valeur true. Elle renvoie false dans le cas
contraire...
Syntaxe :
variable = confirm ("texte");
16
En Javascript nous avont 3 boites de message permettant:
Soit d'avertir l'utilisateur : alert()
Soit le confronter à un choix : confirm()
Soit lui demander de compléter un champ pour récupérer une
information : prompt()
EXERCICES D’ASSIMILATION
17
6. LES FONCTIONS
6.2. Déclaration
Syntaxe :
function nom_de_la_fonction (arguments) {
code des instructions
}
18
Une fonction peut retourner une valeur. Il suffit alors de placer le
mot-clé return suivi de la valeur ou de la variable à retourner.
[Link]()
Cette fonction encode les caractères spéciaux d’une chaîne, selon le
code %xx, et retourne cette chaîne encodée.
Syntaxe :
chaine1 = escape (chaine2)
Exemple 1 :
var chaine = "Voici des caractères spéciaux !" ;
[Link]( escape(chaine) ) ;
[Link]()
Cette fonction décode les caractères spéciaux codé par escape(), et
retourne cette chaîne encodée.
Syntaxe :
chaine1 = escape (chaine2)
Exemple 2 :
var chaine = "Voici des caractères spéciaux !" ;
var chaine2 = escape(chaine) ;
[Link]( unescape(chaine2) ) ;
[Link] ()
Cette fonction convertit une chaîne passée en paramètre en nombre
décimal. Renvoie NaN si la conversion est impossible.
Syntaxe :
19
decimal = parseFloat (chaine)
Exemple 3 :
var chaine = "Voici des caractères spéciaux !" ;
var chaine2 = "35.7" ;
[Link]( parseFloat(chaine) + "<br/>" ) ;
[Link]( parseFloat(chaine2) ) ;
[Link] ()
Cette fonction convertit une chaîne passée en paramètre en nombre
entier. Renvoie NaN si la conversion est impossible. Le paramètre
facultatif base permet de faire une conversion en une autre base que
décimale.
Syntaxe :
decimal = parseInt (chaine, base)
Exemple 4 :
var chaine = "35.7" ;
[Link]( parseInt(chaine) + "<br/>" ) ;
[Link]( parseInt(chaine, 8) ) ;
[Link] ()
Cette fonction renvoie true si le nombre est fini, sinon, elle renvoie
false.
Syntaxe :
booleen = isFinite (nombre)
Exemple 5 :
var chaine = "35.7" ;
var chaine2 = "Math";
[Link]( isFinite(chaine) + "<br/>") ;
20
[Link]( isFinite(chaine2) ) ;
[Link] ()
Cette fonction renvoie true si la chaîne n’est pas un nombre, sinon,
elle renvoie false.
Syntaxe :
booleen = isNaN (chaine)
Exemple 6 :
var chaine = "35.7" ;
var chaine2 = "Math";
[Link]( isNaN(chaine) + "<br/>") ;
[Link]( isNaN(chaine2) ) ;
[Link]()
Cette méthode renvoie tout simplement la valeur de l’objet.
Syntaxe :
variable = [Link] ;
Exemple 7 :
var tab = new Array(5);
for (i = 0; i < 5; i++) tab[i] = i + 1;
var s = "string";
[Link] ("Valeur du Tableau : " + [Link]() + "<br/>");
[Link] ("Valeur de la Chaîne : " + [Link]() + "<br/>");
[Link]()
Cette méthode retourne la description de l’objet.
Syntaxe :
variable = [Link] ;
Exemple 8 :
21
var tab = new Array(5);
for (i = 0; i < 5; i++) tab[i] = i + 1;
var s = "string";
[Link] ("Description du Tableau : " + [Link]() + "<br/>");
[Link] ("Description de la Chaîne : " + [Link]() + "<br/>");
22
POINTS IMPORTANTS À RETENIR
Il existe des fonctions natives, mais il est aussi possible d'en créer,
avec le mot-clé function.
Les variables déclarées avec var au sein d'une fonction ne sont
accessibles que dans cette fonction.
Il faut éviter le plus possible d'avoir recours aux variables globales.
Une fonction peut recevoir un nombre défini ou indéfini de
paramètres. Elle peut aussi retourner une valeur ou ne rien retourner
du tout.
23
EXERCICES D’ASSIMILATION
24
SI condition If (condition) {
ALORS Instructions1 Instruction1
SINON Instructions2 }
FINSI else {
Instruction2
}
Exemple
if (age<18) {
alert("Vous devez être majeur");
[Link]="[Link]";
} else {
[Link]="[Link]";
}
7.2.2. L’expression () ? :
Algorithme Code JS
SI condition (condition) ? instruction 1 :
ALORS Instructions1 instruction 2
SINON Instructions2
FINSI
26
POINTS IMPORTANTS À RETENIR
27
EXERCICES D’ASSIMILATION
28
7. LES FORMULAIRES
[Link] de texte
<textarea name=”nom” rows=x cols=y>
texte par défaut
</textarea>
[Link] password
<input type=”password” name=”nom” value="valeur"
size=x maxlength=z>
[Link] à sélectionner
[Link] radios
<input type=”radio” name=”nom” value="valeur"> texte
[Link]
<input type=”checkbox” name=”nom” value="valeur">
texte
[Link] de sélection
<select name=”nom” size=x>
<option value="valeur"> texte
</select>
[Link]
[Link] simple
<input type=”button” name=”nom” value=”valeur”>
29
[Link] reset
<input type=”reset” name=”nom” value=”valeur”>
[Link] submit
<input type=”submit” name=”nom” value=”valeur”>
8. LES EVENEMENTS
Les évènements s’appliquent aux objets présents dans la page : les boutons,
les champs ou les ascenseurs de la fenêtre mais aussi la page en ellemême.
C’est grâce aux évènements que la page devient interactive. Il est possible
d’activer une action lorsqu’un évènement se produit. La syntaxe à suivre
correspond à : évènement= "actionaréaliser" ;
Il suffit, donc, de nommer l’évènement (voir la liste cidessous), de le faire
suivre du signe égal « = » et de rédiger l’action qui doit lui correspondre.
8.1. Le reset
onReset
<input type="reset">
8.2. Le clic de souris
onClick
<input type="button">, <input type="checkbox">, <input type="radio">,
<input type="reset">, <input type="submit">, <a href..>
8.3. Load
onLoad
<body>, <frameset>
8.4. UnLoad
onUnLoad
<body>, <frameset>
8.5. Error
onError
<body>, <frameset>, <img>
30
8.6. Abort
onAbort
<img>
8.7. MouseOver
onMouseOver
<a href…>, <area href…>
8.8. MouseOut
onMouseOut
<a href…>, <area href…>
8.9. Focus
onFocus
<input type="text">, <select>, <textarea>, <input type="password">
8.10. Blur
onBlur
<input type="text">, <select>, <textarea>, <input type="password">
8.11. Les changements
onChange
<input type="text">, <select>, <textarea>, <input type="password">
8.12. La sélection
onSelect
<input type="text">, <textarea>
8.13. L’envoi
onSubmit
<input type="submit">
Exemple :
afficher une boîte de dialogue, au moment du chargement de la page :
<script >
[Link]=alert("Cette fenêtre s’affiche au moment
du chargement de la page");
</script>
31
POINTS IMPORTANTS À RETENIR
32
focus « Cibler » l'élément
blur Annuler le « ciblage » de l'élément
change Changer la valeur d'un élément spécifique aux formulaires
(input, checkbox, etc.)
select Sélectionner le contenu d'un champ de texte (input, textarea,
etc.)
33
EXERCICES D’ASSIMILATION
1- Contrôler si un champ Text est vide par une fonction lancée après un clic
sur bouton, puis afficher un message d’avertissement dans une boîte de
dialogue.
2- Afficher une boîte de dialogue demandant la saisie d’un nombre dont la
valeur doit être positive. Tant qu’une valeur négative ou nulle est saisie, la
boîte de dialogue continue à s’afficher.
3- Créer un formulaire permetant de calculer et afficher la factorielle d’un
nombre indiqué.
4- Créer un formulaire permetant de calculer et afficher la puisance d’un
nombre.
5- Créer un formulaire permetant de calculer et afficher la valeur de la
TVA et du montant TTC, le prix HT est indiqué par l’utilisateur.
34
9. MANIPULER DU CODE HTML
Le Javascript est un langage qui permet de créer ce que l'on appelle des
pages DHTML. Ce terme désigne les pages Web qui modifient elles-
mêmes leur propre contenu sans charger de nouvelle page. C'est cette
modification de la structure d'une page.
Le Document Object Model (abrégé DOM) est une interface de
programmation pour les documents XML et HTML. Le DOM est donc une
API qui s'utilise avec les documents XML et HTML, et qui va nous
permettre, via le Javascript, d'accéder au code XML et/ou HTML d'un
document. C'est grâce au DOM que nous allons pouvoir modifier des
éléments HTML (afficher ou masquer un <div> par exemple), en ajouter,
en déplacer ou même en supprimer.
L'OBJET WINDOW
Avant de véritablement parler du document, c'est-à-dire de la page Web,
nous allons parler de l'objet window. L'objet window est ce qu'on appelle
un objet global qui représente la fenêtre du navigateur. C'est à partir de cet
objet que le Javascript est exécuté.
Contrairement à ce qui a été dit dans ce cours, alert() n'est pas vraiment une
fonction. Il s'agit en réalité d'une méthode appartenant à l'objet window.
Mais l'objet window est dit implicite, c'est-à-dire qu'il n'y a généralement
pas besoin de le spécifier. Ainsi, ces deux instructions produisent le même
effet, à savoir ouvrir une boîte de dialogue :
[Link]('Hello world!');
alert('Hello world!');
35
visuel d’une page web. Pour y accéder, on suit la syntaxe habituelle d’un
objet.
Syntaxe :
[Link]été;
Syntaxe:
variable = window.méthode();
Syntaxe :
variable = [Link]été ;
variable = [Link].méthode() ;
9.3.1.L’objet parent
Il s’agit de la page principale, qui contient la déclaration de tous les
frames. Il possède les mêmes attributs que l’objet window.
Syntaxe :
variable = [Link].méthode() ;
variable = [Link]été ;
37
9.3.2.L’objet top
Il s’agit de la page de plus haut niveau. Il possède les mêmes attributs que
l’objet window.
Syntaxe :
variable = [Link].méthode() ;
variable = [Link]été ;
9.3.3.L’objet opener
Syntaxe :
variable = [Link].méthode() ;
variable = [Link]été ;
9.3.4.L’objet history
Syntaxe :
variable = [Link].méthode() ;
variable = [Link]été ;
38
selon la syntaxe objet. L’objet [Link] renvoie l’URL complète de
la page en cours.
Syntaxe :
variable = [Link].méthode() ;
variable = [Link]été ;
hash
host
hostName
pathName
href
port
protocole
search : renvoie la partie de l’URL située après le « ? ».
39
9.4 Le document
L'objet document est un sous-objet de window, l'un des plus utilisés. Et
pour cause, il représente la page Web et plus précisément la balise <html>.
C'est grâce à cet élément-là que nous allons pouvoir accéder aux éléments
HTML et les modifier.
Exemple :
<div id="myDiv">
<p>Un peu de texte <a>et un lien</a></p>
</div>
<script>
var div = [Link]('myDiv');
alert(div);
</script>
getElementsByTagName()
Cette méthode permet de récupérer, sous la forme d'un tableau, tous les
éléments de la famille.
La méthode retourne une collection d'éléments (utilisable de la même
manière qu'un tableau). Pour accéder à chaque élément, il est nécessaire de
parcourir le tableau avec une petite boucle.
40
getElementsByName()
Cette méthode est semblable à getElementsByTagName() et permet de ne
récupérer que les éléments qui possèdent un attribut name que vous
spécifiez. L'attribut name n'est utilisé qu'au sein des formulaires, et est
déprécié depuis la spécification HTML5 dans tout autre élément que celui
d'un formulaire. Par exemple, vous pouvez vous en servir pour un élément
<input> mais pas pour un élément <map>.
Sachez aussi que cette méthode est dépréciée en XHTML mais est
maintenant standardisée pour l'HTML5.
Exemple
CSS:
#menu .item span
Voyons maintenant les particularités de ces deux méthodes. La première,
querySelector(), renvoie le premier élément trouvé correspondant au
sélecteur CSS, tandis que querySelectorAll() va renvoyer tous les éléments
(sous forme de tableau) correspondant au sélecteur CSS fourni. Prenons un
exemple simple :
Code HML
<div id="menu">
<div class="item">
41
<span>Élément 1</span>
<span>Élément 2</span>
</div>
<div class="publicite">
<span>Élément 3</span>
<span>Élément 4</span>
</div>
</div>
<div id="contenu">
<span>Introduction au contenu de la page...</span>
</div>
Code Javascript
var query = [Link]('#menu .item span'),
queryAll = [Link]('#menu .item span');
alert([Link]); // Affiche : "Élément 1"
alert([Link]); // Affiche : "2"
alert(queryAll[0].innerHTML + ' - ' +
queryAll[1].innerHTML); //
Affiche : "Élément 1 - Élément 2"
42
Récupérer du HTML
innerHTML permet de récupérer le code HTML enfant d'un élément sous
forme de texte. Ainsi, si des balises sont présentes, innerHTML les
retournera sous forme de texte :
exemple :
<body>
<div id="myDiv">
<p>Un peu de texte <a>et un lien</a></p>
</div>
<script>
var div = [Link]('myDiv');
alert([Link]);
</script>
</body>
43
POINTS IMPORTANTS À RETENIR
44
EXERCICES D’ASSIMILATION
1- Contrôler si un champ Text est vide par une fonction lancée après un clic
sur bouton, puis afficher un message d’avertissement dans une boîte de
dialogue.
2- Afficher une boîte de dialogue demandant la saisie d’un nombre dont la
valeur doit être positive. Tant qu’une valeur négative ou nulle est saisie, la
boîte de dialogue continue à s’afficher.
3- Créer un formulaire permetant de calculer et afficher la factorielle d’un
nombre indiqué.
4- Créer un formulaire permetant de calculer et afficher la puisance d’un
nombre.
5- Créer un formulaire permetant de calculer et afficher la valeur de la
TVA et du montant TTC, le prix HT est indiqué par l’utilisateur.
6- L’exercice consiste à faire un bouton dont la valeur s’incrémente à
chaque clic.
45
10. L’OBJET ARRAY
Exemple
var MonTableau = new Array (2) ;
MonTableau [0] = 7 ;
MonTableau [1] = 4 ;
var tableau_associa={
"valeur1":10,
"valeur2":55,
"valeur3":30
};
Affectation multiple
var tableau_associa={
"valeur1":10,
"valeur2":55,
"valeur3":30
};
alert(tableau_associa.valeur2);
[Link] à 2 dimensions
Il est donc possible de créer des tableaux de tableaux, ce qui correspond à
des tableaux à plusieurs dimensions. Le nombre de dimensions d'un tableau
n'est pas limité.
Syntaxe:
Exemple
Il est bien entendu plus rapide d’utiliser une instruction itérative pour
créer ce tableau à 2 dimensions.
47
[Link]étés et méthodes
[Link]été
Syntaxe :
10.3.2.Méthodes
L’objet Array possède plusieurs méthodes qui permettent de manier les
éléments du tableau.
Syntaxe :
tableau.méthode() ;
Exemple :
49
POINTS IMPORTANTS À RETENIR
50
EXERCICES D’ASSIMILATION
0 1 2 3
Toutes ces propriétés ne font que donner des informations sur votre
type de navigateur. Pour y accéder, on suit la syntaxe habituelle d’un objet.
Syntaxe :
variable = [Link]été ;
Les propriétés qui suivent fonctionnent sous tous les navigateurs. Les
compatibilités ne seront évoqués que pour Netscape et Internet Explorer.
Syntaxe :
var1 = [Link](paramètres) ;
52
ceil(x) : renvoie l’entier supérieur à x.
floor(x) : renvoie l’entier inférieur à x.
round(x) : renvoie l’entier le plus proche de x.
max(x,y) : renvoie le plus grand nombre entre x et y.
min(x,y) : renvoie le plus petit nombre entre x et y.
pow(x,y) : renvoie le nombre x à la puissance y.
random(x,y) : renvoie un nombre aléatoire entre 0 et 1.
sqrt(y) : renvoie la racine carrée de x.
12.2. Constantes
[Link]
math.LN2
math.LN10
math.E
math.LOG2E
math.LOG10E
12.3. Simplification
Si vous utilisez beaucoup l’objet math, l’écriture deviendra vite pénible. Il
est possible de ne pas avoir à écrire le mot "math" à chaque fois. Il suffit
d’encadrer la zone de code par des accolades et l’expression with(math).
with (math) {
code...
}
Exemple :
with (Math) {
53
x = sqrt (238) ;
y = sin (x) ;
[Link](y) ;
}
54
EXERCICES D’ASSIMILATION
55
13. L’OBJET STRING
Un objet string est une chaîne de caractères. Il possède une propriété et 7
méthodes. Cet classe permet la manipulation des caractères qui s’avère
très utile en JS. Il est à préciser que l’objet string ne se construit pas comme
les autres objets. Une chaîne de caractère est en soi un objet string.
13.1. La propriété length
Syntaxe :
variable1 = [Link] ;
variable = (“chaine”).length ;
Exemple
x = "Mon château" ;
y = [Link] ;
[Link](y) ;
x = "Mon Château" ;
y = [Link](4) ;
[Link](y) ;
x = "maman" ;
y = [Link]("ma",0) ;
[Link](y) ;
x = "maman" ;
y = [Link]("ma",4) ;
[Link](y) ;
x = "maman" ;
y = [Link](1,3) ;
[Link](y) ;
y = "lepape@[Link]";
[Link]([Link](5,2)) ;
x = "lepape@[Link]" ;
y = [Link]("@") ;
[Link](y[0] + "<br>" + y[1]) ;
x = "Ecrivez-moi à " ;
y = "lepape@[Link]";
z = [Link](y) ;
[Link](z) ;
57
ToLowerCase ():Cette méthode renvoie la chaîne avec tous les
caractères en minuscules
x = "MAMAN" ;
y = [Link]() ;
[Link](y) ;
\f formulaire plein
\n retour à la ligne
\t tabulation
\" guillemets
\' apostrophes
\\ caractère antislash
58
POINTS IMPORTANTS À RETENIR
59
EXERCICES D’ASSIMILATION
60
14.L’OBJET DATE
[Link]
getYear() : Retourne les 2 derniers chiffres de l’année. Il faudra donc
rajouter le préfixe "20".
getFullYear() : Retourne la date sur 4 chiffres.
getMonth() : Retourne le mois sous la forme d’un entier compris
entre 0 et 11.
getDate() : Retourne le jour du mois sous forme d’un entier compris
entre 1 et 31.
getDay() : Retourne le jour de la semaine sous forme d’un entier
compris entre 0 et 6.
getHours() : Retourne l’heure sous forme d’un entier compris entre 0
et 23.
getMinutes() : Retourne les minutes sous forme d’un entier compris
entre 0 et 59.
getSeconds() : Retourne les secondes sous forme d’un entier compris
entre 0 et 59.
getMilliseconds() : retourne les millisecondes de la date. A ne pas
confondre avec getTime().
[Link]
setYear() : Assigne les 2 derniers chiffres de l’année, sous forme
d’un entier supérieur à 1900.
setYear() : Assigne l’année sur 4 chiffres.
setMonth() : Assigne le mois sous la forme d’un entier compris entre
0 et 11.
setDate() : Assigne le jour du mois sous forme d’un entier compris
entre 1 et 31.
setDay() : Assigne le jour de la semaine sous forme d’un entier
compris entre 0 et 6.
setHours() : Assigne l’heure sous forme d’un entier compris entre 0
et 23.
setMinutes() : Assigne les minutes sous forme d’un entier compris
entre 0 et 59.
setSeconds() : Assigne les secondes sous forme d’un entier compris
entre 0 et 59.
setMilliseconds() : assigne les millisecondes de la date. A ne pas
confondre avec setTime().
61
14.3.L’heure
getTime() : Renvoie l’heure courante sous forme d’un entier
représentant le nombre de millisecondes depuis le 1er janvier 1970
00h 00min 00s.
getTimezoneOffset() : Renvoie la différence entre l’heure locale et
l’heure GMT sous forme d’un entier en minutes.
setTime() : Assigne l’heure courante sous forme d’un entier
représentant le nombre de millisecondes depuis le 1er janvier 1970
00h 00min 00s.
toGMTString() : Renvoie la valeur actuelle de la variable Date en
heure GMT.
toLocaleString() : Renvoie la valeur actuelle de l’heure de la variable
Date. C’est plus rapide que de combiner getHours(), getMinutes(), et
getSeconds().
Exemple
Le but de cet exemple est d’afficher une horloge dans une ligne de
texte. Pour cela, on utilise la méthode [Link](), qui rappelle la
fonction d’affichage toute les secondes.
<HTML>
<HEAD>
<script language="Javascript">
function GetTime () { //la fonction que l’on doit appeler
var time = new Date (); // objet Date()
var hours = [Link](); //on récupère les heures
var min = [Link](); //on récupère les minutes
var sec = [Link](); //on récupère les secondes
if (hours < 10) hours = "0" + hours; //on rajoute un 0
if (min < 10) min = "0" + min; //si le chiffre est
if (sec < 10) sec = "0" + sec; //inférieur à 10
// affichage de l’heure dans une zone de texte
[Link] = hours + ":" + min + ":" + sec;
[Link]('GetTime()',1000); /* le timer rappelle la
fonction toutes les secondes */
}
</script>
</HEAD>
<BODY onLoad="GetTime();">
<form name="time">
62
Voici l'heure :
<!-- la zone de texte qui sert à l’affichage -->
<center><input type="text" name="heure" value="" size=6></center>
</form>
</BODY>
</HTML>
63
POINTS IMPORTANTS À RETENIR
64
EXERCICES D’ASSIMILATION
65
15. LES COOKIES
Les cookies sont très utilisés, par tous les sites commerciaux et par de plus
en plus de sites d'information. La raison est simple. Un cookie permet
de stocker de manière permanente des informations sur le poste du
visiteur, qui pourront être récupérées lors des futures visites.
Voyons quelques unes des principales informations stockées dans les
cookies :
Le nombre de visites, la date de la dernière visite, ...
L'identifiant de la session de l'utilisateur
Un identifiant et un mot de passe crypté pour une reconnaissance
automatique du visiteur
Une liste de mots-clés utilisés dans les moteurs de recherche pour
cibler les publicités à afficher
Une liste de paramètres de préférences de navigation pour
personnaliser la page présentée
66
variable = [Link] ;
67
POINTS IMPORTANTS À RETENIR
68
EXERCICES D’ASSIMILATION
69
16. LES EXPRESSION REGULIERES
16.1. Définition
Elles permettent de réaliser des traitements sur les chaînes de caractères.
Ces traitements sont de l’ordre de la recherche de caractères, de l’extraction
de sous-chaînes… beaucoup d’autres traitements existent qu’il revient à
vous d’imaginer et de créer. En réalité, une expression régulière possède un
motif, qui est une suite de caractères ordonnés selon un ordre, un nombre
d’apparitions, une non-apparition…
16.2.2. Le pattern
Il faut savoir que le pattern correspond aux caractères que vous cherchez –
pour une raison ou une autre – dans une chaîne.
70
La chaîne pattern est extensible à l’infini. Le choix de ce qu’elle
contient vous appartient. Il s’agit du motif de la chaîne, c’est-à-dire des
caractères que vous choisirez d’inclure ou d’exclure de votre recherche.
Cette chaîne pattern contient des caractères spéciaux concaténés. Ces
caractères spéciaux concernent le motif lui-même, le caractère à rechercher,
le nombre d’occurrences, le groupe de caractères cherché… Leur liste se
trouve dans le Tableau
Motif
Signification
^ Début du pattern – de la chaîne.
a|b Caractère a OU b.
71
\\ Caractère « \ ».
Exemple 1 :
Exemple 2:
72
Exemple 3 :
Exemple :
adresse = prompt ("Votre mail ?","mail@[Link]") ;
var exp = new RegExp (“^[A-Za-z0-9]+[A-Za-z0-9\.\-_]*@[A-Za-z0-9\-
_]+\.[A-Za-z0-9\.\-_]{1,}$”,””);
[Link] ([Link](adresse) );
73
16.3.2. Les méthode de l’objet String
74
POINTS IMPORTANTS À RETENIR
75
EXERCICES D’ASSIMILATION
- Faites un formulaire avec 3 lignes de texte et un bouton. Dans les lignes
de texte, l’internaute entre son adresse, code postal et ville. En cliquant sur
le bouton, on teste leur validité.
76
17. FONCTIONS ET PROPRIÉTÉS
17.1. Les fonctions du langage
[Link]()
variable = [Link] ;
[Link]()
variable = [Link] ;
77
Bibliographie générale
Webographie
[Link], (14/08/2019)
[Link], (14/08/2019)
[Link] (14/08/2019)
78
Table des matières
1. GENERALITES ................................................................................................................... 1
1.1. Le langage Javascript ..................................................................................................... 1
1.2. Côté pratique .................................................................................................................. 1
2. LE LANGAGE ..................................................................................................................... 1
2.1. Incorporation du code ..................................................................................................... 1
2.2. Spécificités du langage ................................................................................................... 3
3. LES STRUCTURES DE DONNEES .................................................................................... 7
3.1. Les données constantes ................................................................................................... 7
3.2. Les variables en JS ......................................................................................................... 7
3.2.1. Les types de variable ............................................................................................... 7
[Link] déclaration et l’affectation.................................................................................... 7
3.2.2. Les noms réservés .................................................................................................... 9
[Link] globales et variables locales .................................................................... 10
4. LES OPERATEURS ........................................................................................................... 10
[Link] opérateurs de calcul ................................................................................................ 10
Exemple.............................................................................................................................. 10
[Link] opérateurs de comparaison ...................................................................................... 11
[Link] opérateurs associatifs .............................................................................................. 11
[Link] opérateurs logiques ................................................................................................. 11
[Link] opérateurs d'incrémentation ..................................................................................... 12
5. LES BOITES DE MESSAGE ............................................................................................. 16
[Link]() ........................................................................................................................... 16
[Link]() ........................................................................................................................ 16
[Link]() ...................................................................................................................... 16
6. LES FONCTIONS .............................................................................................................. 18
Les fonctions personnelles .................................................................................................. 18
6.1.Définition .................................................................................................................. 18
6.2. Déclaration ............................................................................................................... 18
[Link] fonctions dans l’en-tête ....................................................................................... 18
6.4.L'appel d'une fonction ................................................................................................... 18
6.5. Fonctions manipulant des valeurs ................................................................................. 18
6.5.1. Passer une valeur à une fonction ............................................................................ 18
6.5.2. Retourner une valeur ................................................................................................. 18
79
Les fonctions integreés ........................................................................................................ 19
[Link]() ....................................................................................................................... 19
[Link]() ................................................................................................................... 19
[Link] () ................................................................................................................. 19
[Link] () .................................................................................................................... 20
[Link] () ..................................................................................................................... 20
[Link] () ....................................................................................................................... 21
[Link]() ..................................................................................................................... 21
[Link]() .................................................................................................................... 21
7. LES STRUCTURES DE CONTROLE ................................................................................ 24
7.1. La structure séquentielle ............................................................................................... 24
7.2. Les instructions conditionnelles .................................................................................... 24
7.2.1. L’expression if … else ........................................................................................... 24
7.2.2. L’expression () ? : .................................................................................................. 25
7.3. Les instructions itératives ............................................................................................. 25
7.3.1. L’itération for ........................................................................................................ 25
7.3.2. L’itération while .................................................................................................... 26
7.5. Interrompre une boucle ................................................................................................. 26
7.5.1. L’instruction break ................................................................................................ 26
7.5.2. L’instruction continue ............................................................................................ 26
7. LES FORMULAIRES......................................................................................................... 29
7.1. Champ de texte............................................................................................................. 29
[Link] de texte ......................................................................................................... 29
[Link] de texte .......................................................................................................... 29
[Link] password .................................................................................................... 29
[Link] à sélectionner....................................................................................................... 29
[Link] radios ........................................................................................................ 29
[Link] ............................................................................................................... 29
[Link] de sélection ........................................................................................................... 29
[Link] .......................................................................................................................... 29
[Link] simple ........................................................................................................ 29
[Link] reset ........................................................................................................... 30
[Link] submit ........................................................................................................ 30
8. LES EVENEMENTS .......................................................................................................... 30
80
8.1. Le reset..................................................................................................................... 30
8.2. Le clic de souris........................................................................................................ 30
8.3. Load ......................................................................................................................... 30
8.4. UnLoad .................................................................................................................... 30
8.5. Error......................................................................................................................... 30
8.6. Abort ........................................................................................................................ 31
8.7. MouseOver ............................................................................................................... 31
8.8. MouseOut................................................................................................................. 31
8.9. Focus........................................................................................................................ 31
8.10. Blur ........................................................................................................................ 31
8.11. Les changements .................................................................................................... 31
8.12. La sélection ............................................................................................................ 31
8.13. L’envoi ................................................................................................................... 31
9. MANIPULER DU CODE HTML ....................................................................................... 35
L'OBJET WINDOW ....................................................................................................... 35
9.1. Les propriétés de window ............................................................................................. 35
9.2. Les méthodes de window.............................................................................................. 36
9.2.1. Généralités ............................................................................................................ 36
9.2.2. Liste des méthodes................................................................................................. 36
9.3. Les objets de window ................................................................................................... 37
9.3.1.L’objet parent ......................................................................................................... 37
9.3.2.L’objet top .............................................................................................................. 38
9.3.3.L’objet opener ........................................................................................................ 38
9.3.4.L’objet history ........................................................................................................ 38
9.3.5. L’objet location ..................................................................................................... 38
9.4 Le document ................................................................................................................. 40
9.4.1 Accéder aux éléments ............................................................................................. 40
9.4.2 Accéder aux éléments grâce aux technologies récentes ............................................ 41
9.4.3 Le contenu : innerHTML ........................................................................................ 42
10. L’OBJET ARRAY ............................................................................................................ 46
10.1. Création et affectation d’un tableau............................................................................. 46
Affectation multiple ........................................................................................................ 46
Accès aux données d’un tableau ...................................................................................... 46
[Link] à 2 dimensions ............................................................................................... 47
81
[Link]étés et méthodes ................................................................................................. 48
[Link]été ............................................................................................................... 48
10.3.2.Méthodes .............................................................................................................. 48
11. L’OBJET NAVIGATOR................................................................................................... 51
11.1. Les propriétés de navigator ......................................................................................... 52
12. L’OBJET MATH .............................................................................................................. 52
12.1. Fonctions.................................................................................................................... 52
12.1.1. Fonctions diverses ............................................................................................... 52
12.1.2. Fonctions trigonométriques .................................................................................. 53
12.2. Constantes .................................................................................................................. 53
12.3. Simplification ............................................................................................................. 53
13. L’OBJET STRING............................................................................................................ 56
13.1. La propriété length ..................................................................................................... 56
13.2. Quelques méthodes ..................................................................................................... 56
13.3. Caractères spéciaux .................................................................................................... 58
14.L’OBJET DATE ................................................................................................................ 61
[Link] .............................................................................................................................. 61
[Link] ............................................................................................................................... 61
14.3.L’heure ....................................................................................................................... 62
15. LES COOKIES ................................................................................................................. 66
15.1. Créer un cookie .......................................................................................................... 66
15.2. Récupérer un cookie ................................................................................................... 66
15.3. Modifier un cookie ..................................................................................................... 67
15.4. Supprimer un cookie................................................................................................... 67
15.5. La sécurité des cookies ............................................................................................... 67
16. LES EXPRESSION REGULIERES .................................................................................. 70
16.1. Définition ................................................................................................................... 70
16.2. Paramètres d’une expression régulière ........................................................................ 70
16.2.1. L’option............................................................................................................... 70
16.2.2. Le pattern ............................................................................................................ 70
16.3. Utilisation d’une expression régulière ......................................................................... 73
16.3.1. Les méthode de l’objet RegExp ............................................................................... 73
16.3.2. Les méthode de l’objet String .................................................................................. 74
17. FONCTIONS ET PROPRIÉTÉS ....................................................................................... 77
82
83