Upload
rehabi-bouafia
View
216
Download
0
Embed Size (px)
Citation preview
8/3/2019 CourJavaScript
1/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 1
JavaScript
8/3/2019 CourJavaScript
2/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 2
Histoire de Javascript
Le langage JavaScripta t cr en 1995 par Brendan Eichpour le compte de la Netscape Communications CorporationEn mars 1996, Netscape met en oeuvre le moteur JavaScript
dans son navigateur Web Netscape Navigator 2.0.
Microsoft ragit alors en dveloppant JScript, qu'il inclut ensuite
dans Internet Explorer 3.0 en aot 1996 pour la sortie de sonnavigateur.
Netscape soumet alors JavaScript Ecma International pourstandardisation Enfin, l'organisme ECMA, (European
Computer Manufactures Association).dcide de crer une norme du noyau de ces langages quiserait accepte par tous .
8/3/2019 CourJavaScript
3/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 3
JavaScript est un langage de programmation de scriptsorient objet dont la syntaxe est base sur celle du Java ,Cet C++.
IL est principalement utilis dans les pages web interactivesLes programmes Javascript permettent de rendre
dynamique un site internet dvelopp par le langageHTML.
Du code JavaScript peut tre intgr directement au sein despages Web, pour y tre excut sur le poste client. C'estalors le navigateur Web qui prend en charge l'excution deces programmes appels scripts.
Gnralement, JavaScript sert contrler les donnes saisiesdans des formulaires HTML, ou interagir avec le documentHTML via l'interface Document Object Model, fournie par lenavigateur (on parle alors parfois de HTML dynamique ouDHTML).
8/3/2019 CourJavaScript
4/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 4
Caractristiques de javaScriptSes principales caractristiques sont :
JavaScript est un langage de programmation structurequi concourt enrichir le HTML. Le code JavaScript est intgr compltement dans le
code HTML, et interprt par le navigateur client (quireoit la page). La possibilit d'inclure des programmesdans les pages HTML et de les excuter directement surle poste client , car elle permet dcharger le serveur de cetravail et ... d'viter les attentes des rponses auxrequtes adresses via le Rseau.
Il ne peut pas tre excut indpendamment, ce qui lelimite comme langage de programmation.
javaScript contient des gestionnaires d'vnements : ilreconnat et ragit aux demandes de l'utilisateur, commeun clic de la souris, une validation de formulaire, etc...
javaScript est diffrent de Java qui est un langagecompltement autonome du langage HTML
8/3/2019 CourJavaScript
5/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 5
HTML et JavaScript
la page HTML devra TOUJOURS contenir lesdeux balises spcifiques et indispensables
Le code JavaScript sintgre de deuxmanire avec le code HTML
1. Insertion directe dans le code HTML
Le code JavaScript s'insre le plus souvent dans la pageHTML elle mme.C'est la mthode la plus simple et la plus frquemment
utilise par les dveloppeurs de sites Internet.
2. Insertion comme un module externe
........................
8/3/2019 CourJavaScript
6/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 6
1. Insertion dans une page HTML
Il existe 2 manires d'insrer du code JavaScriptdans une page HTML
1.1 Insertion pour excution directe
Le code s'excute automatiquementlors du chargement de la page HTML
dans le navigateur en mme temps que
le contenu de la page HTML
s'affiche l'cran.
Le code JavaScript est plac
dans le corps mme de la page HTML,
entre les balises .......... Et.........
.....
alert(bonjour);
8/3/2019 CourJavaScript
7/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 7
1.2 Insertion et excution vnementielle
Le code javascript est d'abord lu parle
navigateur, stock en mmoire, pour nes'excuter que sur demande, lors du
dclenchement d un vnement. Le code JavaScript est plac dans le
corps mme de la page HTML, entreles balises .......... et .........
Le code s'excutera seulement lorsd'un vnement gnr parintervention de l'utilisateur.
Il faut crire le code correspondant cet vnement dans le corps du
document HTML.
.......... ..........
function auRevoir ()function auRevoir ()
{ alert( Au{ alert( Au
revoir);}revoir);}
Exccution diffreExccution diffre
8/3/2019 CourJavaScript
8/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 8
2. Insertion par appel de module
externe
Il est possible d'utiliser des fichiers externes pour les programmesJavascript. On peut ainsi stocker les scripts
dans des fichiers distincts (avec l'extension .js) et les appeler partird'un fichier Html. Le concepteur peut de
cette manire se constituer une bibliothque de script et les appeler la manire des #include du C ou C++. La
balise devient
8/3/2019 CourJavaScript
9/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 9
Entre et sortie de donnes avec JavaScript
3 types de boites de messages peuvent tre affichs enutilisant Javascript : Alerte, Confirmation et Invite
Mthode alert() sert afficher lutilisateur des informations simples de type texte.
Une fois que ce dernier a lu le message, il doit cliquer sur OK pourfaire disparatre la bote
Mthode confirm() permet lutilisateur de choisir entre les boutons OK et Annuler.
Mthode prompt()
La mthode prompt() permet lutilisateur de taper son propremessage en rponse la question pose
La mthode document.write permet d crire du codeHTML dans la page WEB
8/3/2019 CourJavaScript
10/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 10
Entre et sortie de donnes avec
JavaScript une page simple Bonjour alert('bonjour'); document.write ( prompt('quel est votre nom ?','Indiquer votre nom ici') );
confirm('quel bouton allez-vous choisir ?');
8/3/2019 CourJavaScript
11/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 11
La structure dun script en
JavaScript
Rgles gnralesL'insertion des espaces peut s'effectu n'importe o dans le
script Chaque commande doit tre termine par un point-
virgule (;).
Un nombre virgule est spar par un point (.) et non par unevirgule
Le langage Javascript y est sensible la casse
Il existe deux mthodes permettantd'intgrer des commentaires vosscripts.
Placer un double slash (//) devant le texte '
8/3/2019 CourJavaScript
12/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 12
Les variables (1)
Dclaration et affectation
Le mot-cl var permet de dclarer
une ou plusieurs variables.
Aprs la dclaration de la variable, il est
possible de lui affecter une valeur par
l'intermdiaire du signe d'galit (=).
Si une valeur est affecte une
variable sans que cette dernire nesoit dclare, alors Javascript la
dclare automatiquement.
//Dclaration de i, dej et dek.var i, j, k;
//Affectation de i.i = 1;//Dclaration et affectationdeprix.var prix = 0;
//Dclaration et affectationde caracterevar caractere = ["a", "b", "c"];
8/3/2019 CourJavaScript
13/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 13
Les variables (2)
Dclaration et affectation
La lecture d'une variable non dclare provoque une erreur
Une variable correctement dclare mais dont aucune valeurn'est affecte, est indfinie (undefined).
La porte les variables peuvent tre globales ou locales.
Une variable globale est dclare en dbut de script et estaccessible n'importe quel endroit du programme.
Une variable locale est dclare l'intrieur d'une fonction etn'est utilisable que dans la fonction elle-mme.
8/3/2019 CourJavaScript
14/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 14
Les variables (3)
Contraintes concernant les noms de variables Les noms de variables ne peuvent contenir que des
lettres, chiffres, ou le caractre "_" (underscore) Mon_Prenom est un nom valide
Les caractres spciaux et accentus sont interdits (, ,, , etc..) Mon_Prnom n'est pas un nom valide. Il y a un caractre
accentu.
Les majuscules et les minuscules ont leur importance. MonPrenom est diffrent de Monprenom.
Un nom de variable ne peut contenir d'espaces. Mon Prenom n'est pas un nom de variable correct. Il y a un
espace.
Les mots rservs JavaScript ne peuvent tre utiliss
comme noms de variable comme var , function ,.
8/3/2019 CourJavaScript
15/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 15
Les variables (4)
Le type dune variable dpend de la valeur stocke danscette variable. Pas de dclaration de type. Exemple
var maVariable = Philippe ;maVariable =10;
trois principaux types de valeurs String Number: 10^-308 >nombre < 10^308
Les nombres entiers les nombres dcimaux en virgule flottant
3 valeurs spciales : Positive Infinity ou +Infinity (valeur infini positive) Negative Infinity ou Infinity (valeur infinie ngative) Nan (Not a Number) habituellement gnre comme rsultat
dune opration mathamatique incohrente
Boolean deux valeurs littrales : true (vrai) et false (faux).
8/3/2019 CourJavaScript
16/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 16
Valeurs spciales
JavaScript inclut aussi deux types de
donnes spciaux :
Null : possde une seule valeur, null, qui signifielabsence de donnes dans une variable
Undefined : possde une seule valeur, undifined.Une variable dont le contenu nest pas clair car elle
na jamais stock de valeur, pas mme null est ditenon dfinie (undifined).
8/3/2019 CourJavaScript
17/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 17
LES OPERATEURS
Qu'est-ce qu'un oprateur?Les oprateurs sont des symboles qui permettent
de manipuler des variables, c'est--dire effectuer
des oprations, les valuer, ...
On distingue plusieurs types d'oprateurs:
les oprateurs de calcul
les oprateurs d'assignation
les oprateurs d'incrmentation les oprateurs de comparaison
les oprateurs logiques
8/3/2019 CourJavaScript
18/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 18
Les oprateurs de calcul
Les oprateurs de calcul permettent de modifier
mathmatiquement la valeur d'une variable
8/3/2019 CourJavaScript
19/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 19
Les oprateurs d'assignation
Ces oprateurs permettent de simplifier des oprations tellesque ajouter une valeur dans une variable et stocker lersultat dans la variable. Une telle oprations s'criraithabituellement de la faon suivante par exemple:x=x+2Avec les oprateurs d'assignation il est possible d'crirecette opration sous la forme suivante:x+=2
Ainsi, si la valeur de x tait 7 avant opration, elle sera de9 aprs...
8/3/2019 CourJavaScript
20/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 20
Les oprateurs d'incrmentation
Ce type d'oprateur permet de facilement augmenter ou
diminuer d'une unit une variable. Ces oprateurs sont
trs utiles pour des structures telles que des boucles, qui
ont besoin d'un compteur (variable qui augmente de un en
un).
Un oprateur de typex++ permet de remplacer des
notations lourdes telles quex=x+1 ou bienx+=1
8/3/2019 CourJavaScript
21/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 21
Les oprateurs de comparaison
8/3/2019 CourJavaScript
22/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 22
Les oprateurs logiques (boolens)
Ce type d'oprateur permet de vrifier si plusieurs conditions
sont vraies ou fausses
8/3/2019 CourJavaScript
23/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 23
structure conditionnelle
Qu'est-ce qu'une structure conditionnelle?
On appelle structure conditionnelle les instructions qui
permettent de tester si une condition est vraie ou non, ce
qui permet de donner de l'interactivit vos scripts par
exemple.
8/3/2019 CourJavaScript
24/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 24
L'instruction if
L'instruction if est la structure de test la plus basique, on laretrouve dans tous les langages (avec une syntaxediffrente...). Elle permet d'excuter une srie d'instructionsi jamais une condition est ralise.
La syntaxe de cette expression est la suivante:if (condition ralis) {liste d'instructions}
8/3/2019 CourJavaScript
25/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 25
Remarques
la condition doit tre entre des parenthses
il est possible de dfinir plusieurs conditions remplir avecles oprateurs ET et OU (&& et ||)
par exemple:
if ((condition1)&&(condition2)) teste si les deux conditionssont vraies
if ((condition1)||(condition2)) excutera les instructions si
l'une ou l'autre des deux conditions est vraie
s'il n'y a qu'une instruction, les accolades ne sont pasncessaires...
8/3/2019 CourJavaScript
26/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 26
L'instruction if ... else
L'instruction ifdans sa forme basique ne permet de testerqu'une condition, or la plupart du temps on aimeraitpouvoir choisir les instructions excuteren cas de nonralisation de la condition...
L'expression if ... else permet d'excuter une autre sried'instruction en cas de non-ralisation de la condition.
La syntaxe de cette expression est la suivante:if (condition ralis) {liste d'instructions
}else {autre srie d'instructions}
8/3/2019 CourJavaScript
27/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 27
Remarques
Il est possible de faire un test avec une structure beaucoup
moins lourde grce la structure suivante:
(condition) ?instruction si vrai: instruction si faux
la condition doit tre entre des parenthses
Lorsque la condition est vraie, l'instruction de gauche est
excute
Lorsque la condition est fausse, l'instruction de droite est
excute
8/3/2019 CourJavaScript
28/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 28
Les boucles
Les boucles sont des structures qui permettent d'excuter
plusieurs fois la mme srie d'instructions jusqu' ce
qu'une condition ne soit plus ralise...
La faon la plus commune de faire une boucle, est de
crer un compteur (une variable qui s'incrmente, c'est--dire qui augmente de 1 chaque tour de boucle) et de
faire arrter la boucle lorsque le compteur dpasse une
certaine valeur.
8/3/2019 CourJavaScript
29/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 29
La boucle for
L'instruction forpermet d'excuter plusieurs fois la mmesrie d'instructions: c'est une boucle!
Dans sa syntaxe, il suffit de prciser le nom de la variablequi sert de compteur (et ventuellement sa valeur de
dpart, la condition sur la variable pour laquelle la boucles'arrte (basiquement une condition qui teste si la valeurdu compteur dpasse une limite) et enfin une instructionqui incrmente (ou dcrmente) le compteur.
La syntaxe de cette expression est la suivante:
for (compteur; condition; modification du compteur) {liste d'instructions}
8/3/2019 CourJavaScript
30/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 30
Exemple
for (i=1; i
8/3/2019 CourJavaScript
31/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 31
L'instruction while
L'instruction while reprsente un autre moyen d'excuterplusieurs fois la mme srie d'instructions.
La syntaxe de cette expression est la suivante:while (condition ralise) {
liste d'instructions}
Cette instruction excute la liste d'instructions tant que(while est un mot anglais qui signifie tant que) la conditionest ralise.
8/3/2019 CourJavaScript
32/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 32
Saut inconditionnel
Il peut tre ncessaire de faire sauter la boucle une ouplusieurs valeurs sans pour autant mettre fin celle-ci.
La syntaxe de cette expression est "continue;" (cette
instruction se place dans une boucle!), on l'associegnralement une structure conditionnelle, sinon leslignes situes entre cette instruction et la fin de la boucleseraient obsoltes.
8/3/2019 CourJavaScript
33/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 33
Exemple
Imaginons que l'on veuille imprimer pour x allant de 1 10 lavaleur de 1/(x-7) ... il est vident que pour x=7 il y aura uneerreur. Heureusement, grce l'instruction continue il estpossible de traiter cette valeur part puis de continuer laboucle!
x=1while (x
8/3/2019 CourJavaScript
34/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 34
Attention Erreurrrrrr
Il y avait une erreur dans ce script... peut-tre ne l'avez-vouspas vue:Lorsque x est gal 7, le compteur ne s'incrmente plus, ilreste constamment la valeur 7, il aurait fallu crire:x=1
while (x
8/3/2019 CourJavaScript
35/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 35
Arrt inconditionnelA l'inverse, il peut tre voulu d'arrter prmaturment la
boucle, pour une autre conditon que celle prcis dansl'en-tte de la boucle. L'instruction breakpermet d'arrter
une boucle (forou bien while). Il s'agit, tout commecontinue, de l'associer une structure conditionnelle,sans laquelle la boucle ne ferait jamais plus d'un tour!
Dans l'exemple de tout l'heure, par exemple si l'on nesavait pas quel moment le dnominateur (x-7) s'annule
(bon...OK...pour des quations plus compliques parexemple) il serait possible de faire arrter la boucle en casd'annulation du dnominateur, pour viter une division parzro!for (x=1; x
8/3/2019 CourJavaScript
36/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 36
Les fonctions
On appelle fonction un sous-programme qui permet
d'effectuer un ensemble d'instruction par simple appel de
la fonction dans le corps du programme principal.
Javascript contient des fonctions prdfinies qui peuvent
s'appliquer pour un ou plusieurs types d'objets
spcifiques, on appelle ces fonctions des mthodes.
8/3/2019 CourJavaScript
37/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 37
La dclaration d'une fonction
Avant d'tre utilise, une fonction doit tre dfinie car pourl'appeler dans le corps du programme il faut que lenavigateur la connaisse, c'est--dire qu'il connaisse sonnom, ses arguments et les instructions qu'elle contient. Ladfinition d'une fonction s'appelle "dclaration". Ladclaration d'une fonction se fait grce au mot cl function
selon la syntaxe suivante:function Nom_De_La_Fonction(argument1, argument2, ...) {
liste d'instructions}
Pour excuter une fonction, il suffit de faire appel elle en
crivant son nom (une fois de plus en respectant la casse)suivie d'une parenthse ouverte (ventuellement desarguments) puis d'une parenthse ferme:
Nom_De_La_Fonction()
8/3/2019 CourJavaScript
38/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 38
Exemple
function ma_fonction(param1, param2) { ..
.. }
function mon_autre_fonction() { .
... }Le corps des fonctions et instructions est dlimit par "{" et
"}" dans lequel on place la dclaration des variableslocales, propres la fonction, ainsi que l'ensemble destraitements.
Une fonction aura dans son corps une ou plusieursinstructions return qui permet de renvoyer une valeur ouun objet. L'instruction return n'est pas obligatoire; on aalors affaire une instruction qui ne renvoie pas devaleur.
8/3/2019 CourJavaScript
39/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 39
Le mot-cl this
Lorsque vous fates appel une fonction partir d'un objet,
par exemple un formulaire, le mot cl this fait rfrence
l'objet en cours et vous vite d'avoir dfinir l'objet en
tapant window.objet1.objet2... ainsi lorsque l'on passe
l'objet en cours en paramtre d'une fonction, il suffit detapernom_de_la_fonction(this) pour pouvoir manipuler
cet objet partir de la fonction.
Pour manipuler les proprits de l'objet il suffira de taper
this.propriete (opropriete reprsente bien sr le nom dela proprit).
8/3/2019 CourJavaScript
40/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 40
Les oprations sur les chanes
La concatnation Var chaine = bonjour + FI3/FCD1 ;
Dterminer la longueur dune chane Var ch1 = bonjour ; Var longueur = ch1.length;
Identifier le nime caractre dune chane Var ch1 = Rebonjour ! ; Var carac = ch1.charAt(2);
Extraction dune partie de la chane Var dateDuJour = 04/04/03 Var mois = datteDuJour.substring(3, 5);
3: est lindice du premier caractre de la sou-chane extraire
5 : indice du dernier caractre prendre en considration ;ce caractre ne fera pas partie de la sous-chane extraire
8/3/2019 CourJavaScript
41/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 41
Les fonctions prdfinies (1)
eval Cette fonction excute un code Javascript partir
d'une chane de caractres.
...function evaluation() {
document.formulaire.calcul.value=eval(document.formulaire.saisie.value); }...Saisissez une expression mathmatique : ...
8/3/2019 CourJavaScript
42/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 42
Les fonctions prdfinies (2) isFinite
Dtermine si le parametre est un nombre fini.Renvoie false si ce n'est pas un nombre ou
l'infini positif ou infini ngatif.
isNaN dtermine si le parametre nest pas un nombre
(NaN : Not a Number).
isFinite(240) //retourne true
isFinite("Un nombre") //retournefalse
isNaN("un nombre")//retourne trueisNaN(20) //retournefalse
Les fonctions prdfinies (3)
8/3/2019 CourJavaScript
43/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 43
Les fonctions prdfinies (3) parseFloat
analyse une chane de caractres et retourne
un nombre dcimal. Si l'argument valu n'est pas un nombre,
renvoie NaN(Not a Number).
parseInt analyse une chane de caractres et retourne
un nombre entier de la base spcifie.
La base peut prendre les valeurs 16
(hexadcimal) 10(dcimal), 8(octal), 2(binaire).
var numero="125";var nombre=parseFloat(numero); //retourne lenombre 125
var prix=30.75;var arrondi = parseInt(prix, 10);//retourne 30
8/3/2019 CourJavaScript
44/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 44
Les fonctions prdfinies (4) Number
convertit l'objet spcifi en valeur numrique
String convertit l'objet spcifi en chane de caractres
Escape retourne la valeur hexadcimale partir d'une chane decaractre code en ISO-Latin-1.
r jour = new Date("December 17, 1995 03:24:00");//converit la date en milliseco(Number(jour));
jour = new Date(430054663215);//Convertit le nombre en date Mois jour,Annee etc. alert (String(jour));
escape("!&") //retourne %21%26%
L Obj t (1)
8/3/2019 CourJavaScript
45/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 45
Les Objets (1) Les objets de JavaScript, sont soit des entits pr dfinies du
langage, soit crs par le programmeur.
Par exemple, le navigateur est un objet qui s'appelle"navigator".
La fentre du navigateur se nomme "window" La page HTML est un autre objet, que l'on appelle
"document".
Un formulaire l'intrieur d'un "document", est aussi un objet. Un lien hypertexte dans une page HTML, est encore un autre
objet. Il s'appelle "link". etc... Les objets javascript peuvent ragir des "Evnements".
Tous les navigateurs ne supportent pas les mmes objets
Accs aux proprits dun objet voiture.couleur.value voiture.couleur.value = verte
8/3/2019 CourJavaScript
46/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 46
Les objets (2)
Loprateur New L'oprateur new est utilis pour crer une
nouvelle instance ou un nouveau type d'objet
dfini par l'utilisateur ou de l'un des typesd'objets prdfinis, Array, Boolean, Date,
Function, Image, Number, Object, ou String.
nouvel_objet=newtype_objet(parametres)
texte = new String("Une chane de caractre");
http://www.laltruiste.com/coursjavascript/array.htmlhttp://www.laltruiste.com/coursjavascript/boolean.htmlhttp://www.laltruiste.com/coursjavascript/date.htmlhttp://www.laltruiste.com/coursjavascript/function.htmlhttp://www.laltruiste.com/coursjavascript/image.htmlhttp://www.laltruiste.com/coursjavascript/number.htmlhttp://www.laltruiste.com/coursjavascript/object.htmlhttp://www.laltruiste.com/coursjavascript/string.htmlhttp://www.laltruiste.com/coursjavascript/string.htmlhttp://www.laltruiste.com/coursjavascript/object.htmlhttp://www.laltruiste.com/coursjavascript/number.htmlhttp://www.laltruiste.com/coursjavascript/image.htmlhttp://www.laltruiste.com/coursjavascript/function.htmlhttp://www.laltruiste.com/coursjavascript/date.htmlhttp://www.laltruiste.com/coursjavascript/boolean.htmlhttp://www.laltruiste.com/coursjavascript/array.html8/3/2019 CourJavaScript
47/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 47
Les objets (3)
Loprateur Typeof L'oprateurtypeofrenvoie une chane de caractres
indiquant quel est le type de l'oprande.
var i = 1;typeofi; //retourne numbervar titre="Les raisins de la colre";typeoftitre; //retourne stringvar jour = new Date();
typeofjour; //retourne objectvar choix = true; typeofchoix; //retourne booleanvar cas = null; typeofcas; //retourne objecttypeofparseFloat; //retourne functiontypeofMath; //retourne object (IE 5.*, NS 6.*, NS 4.78, Opera 6.*, Opera 5.*typeofMath;//retourne function NS 3.*, Opera 3.*
8/3/2019 CourJavaScript
48/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 48
L'objet String (1) Proprit :
length : retourne la longueur de la chane de caractres; Mthodes :
anchor( ) : formate la chane avec la balise nomme;
b( ) : formate la chane avec la balise ;
big( ) : formate la chane avec la balise ; charAt( ) : renvoie le caractre se trouvant une certaine
position;
charCodeAt( ) : renvoie le code du caractre se trouvant une
certaine position;
concat( ) : permet de concatner 2 chanes de caractres; fromCharCode( ) : renvoie le caractre associ au code;
indexOf( ) : permet de trouver l'indice d'occurrence d'un caractre
dans une chane;
L'objet String (2)
8/3/2019 CourJavaScript
49/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 49
L'objet String (2) italics( ) : formate la chane avec la balise ;
lastIndexOf( ) : permet de trouver le dernier indiced'occurrence d'un caractre;
link( ) : formate la chane avec la balise pour
permettre de faire un lien;
slice( ) : retourne une portion de la chane; substr( ) : retourne une portion de la chane;
substring( ) : retourne une portion de la chane;
toLowerCase( ) : permet de passer toute la chane
en minuscule;
toUpperCase( ) : permet de passer toute la chane
en majuscules;
8/3/2019 CourJavaScript
50/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 50
L'objetArray
Proprit : length : retourne le nombre d'lments du tableau;
Mthodes :
concat( ) : permet de concatner 2 tableaux; join( ) : converti un tableau en chane de caractres;
reverse( ) : inverse le classement des lmnts dutableau;
slice( ) : retourne une section du tableau;
sort( ) : permet le classement des lments dutableau;
8/3/2019 CourJavaScript
51/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 51
L'objet Math (1)
Proprits :
E: renvoie la valeur de la constante d'Euler (~2.718);
LN2: renvoie le logarithme nprien de 2 (~0.693);
LN10: renvoie le logarithme nprien de 10 (~2.302);
LOG2E: renvoie le logarithme en base 2 de e (~1.442); LOG10E: renvoie le logarithme en base 10 de e (~0.434);
PI: renvoie la valeur du nombre pi (~3.14159);
SQRT1_2: renvoie 1 sur racine carre de 2 (~0.707);
SQRT2: renvoie la racine carre de 2 (~1.414);
8/3/2019 CourJavaScript
52/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 52
L'objet Math (2)
Mthodes :
abs( ), exp( ), log(), sin( ), cos( ), tan( ), asin( ), acos( ),
atan( ), max( ), min( ), sqrt( ) sont les oprations
mathmatiques habituelles;
atan2( ) : retourne la valeur radian de l'angle entre l'axe desabscisses et un point;
ceil( ) : retourne le plus petit entier suprieur un nombre;
floor( ) : retourne le plus grand entier infrieur un nombre;
pow( ) : retourne le rsultat d'un nombre mis une certaine
puissance; random( ) : retourne un nombre alatoire entre 0 et 1;
round( ) : arrondi un nombre l'entier le plus proche.
8/3/2019 CourJavaScript
53/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 53
L'objet Date (1)
Proprit : aucune;
Mthodes :
getFullYear( ), getYear( ), getMonth( ), getDay( ), getDate(),
getHours( ), getMinutes( ), getSeconds( ), getMilliseconds( ):
retournent respectivement l'anne complte, l'anne
(2chiffres), le mois, le jour de la semaine, le jour du mois,
l'heure, les minutes, les secondes et les millisecondes stocks
dans l'objet Date;
getUTCFullYear( ), getUTCYear( ), retournent
respectivement l'anne complte, l'anne (2chiffres),
stocks dans l'objet Date en temps universel;
setFullYear( ), setYear( ), remplacent respectivement
l'anne complte, l'anne (2chiffres), dans l'objet Date;
8/3/2019 CourJavaScript
54/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 54
L'objet Date (2)
setUTCFullYear( ), setUTCYear( ), remplacent
l'anne complte, l'anne (2chiffres), dans l'objet
Date en temps universel;
getTime( ) : retourne le temps stock dans l'objet
Date;
getTimezoneOffset( ) : retourne la diffrence entre
l'heure du client et le temps universel;
toGMTString( ), toLocaleString( ), toUTCString( ) :
convertissent la date en chane de caractre selonla convention GMT, selon la convention locale ou
en temps universel;
8/3/2019 CourJavaScript
55/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 55
Les objets du navigateur (1)
L'objet le plus haut dans la hirarchie est windowqui
correspond la fentre mme du navigateur.
L'objet documentfait rfrence au contenu de la
fentre.
documentregroupe au sein de proprits l'ensemble
des lments HTML prsents sur la page. Pour
atteindre ces diffrents lments, nous utiliserons :
soit des mthodes propres l'objet document, comme la
mthode getElementById( ), qui permet de trouver l'lmenten fonction de son identifiant (ID);
soit des collections d'objets qui regroupent sous forme de
tableaux Javascript tous les lments de type dtermin.
Les objets du navigateur (2)
8/3/2019 CourJavaScript
56/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 56
Les objets du navigateur (2)
8/3/2019 CourJavaScript
57/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 57
L'objet window (1)
Proprits : (accessibles avec IE et N) closed: indique que la fentre a t ferme;
defaultStatus : indique le message par dfaut dans labarre de status;
document: retourne l'objet documentde la fentre; frames : retourne la collection de cadres dans la
fentre;
history: retourne l'historique de la session de
navigation; location : retourne l'adresse actuellement visite;
name : indique le nom de la fentre;
8/3/2019 CourJavaScript
58/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 58
L'objet window (2)
navigator: retourne le navigateur utilis;
opener: retourne l'objet windowqui a cr la fentre
en cours;
parent: retourne l'objet windowimmdiatemment
suprieur dans la hirarchie;
self : retourne l'objet window correspondant la
fentre en cours;
status : indique le message affich dans la barre de
status;
top : retourne l'objet windowle plus haut dans la
hirarchie.
8/3/2019 CourJavaScript
59/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 59
L'objet window (3)
Mthodes : blur( ) : enlve le focus de la fentre; close( ) : ferme la fentre; focus( ) : place le focus sur la fentre;
moveBy( ) : dplace d'une distance; moveTo( ) : dplace la fentre vers un point spcifi; open( ) : ouvre une nouvelle fentre; print( ) : imprime le contenu de la fentre;
resizeBy( ) : redimensionne d'un certain rapport; resizeTo( ) : redimensionne la fentre; setTimeout( ) : value une chane de caractre aprs
un certain laps de temps.
8/3/2019 CourJavaScript
60/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 60
L'objet document (1)
Proprits : applets : retourne la collection d'applets java prsente
dans le document; cookie : permet de stocker un cookie;
domain : indique le nom de domaine du serveur ayantapport le document; forms : retourne la collection de formulaires prsents
dans le document; images : retourne la collection d'images prsentes
dans le document; links : retourne la collection de liens prsents dans ledocument;
8/3/2019 CourJavaScript
61/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 61
L'objet document (2)
referrer: indique l'adresse de la pageprcdente;
title : indique le titre du document.
Mthodes : close( ) : ferme le document en criture;
open( ) : ouvre le document en criture;
write( ) : crit dans le document; writeln( ) : crit dans le document et effectue
un retour la ligne
8/3/2019 CourJavaScript
62/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 62
L'objet navigator
Proprits appName :application (Netscape, Internet
Explorer)
appVersion : numero de version.platform :systme dexploitation (Win32)
plugins
language
mimeTypes
JavaEnabled()
8/3/2019 CourJavaScript
63/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 63
Les vnements (1)
Javascript est dpendant des vnements
se produisent lors d'actions diverses sur les objets
d'un document HTML.
onLoad;
onClick
onMouseover
onMouseout
...
Il est possible de baser lexcution de
fonctions sur des vnements
Les vnements (2)
8/3/2019 CourJavaScript
64/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 64
Les vnements (2) Evnement onLoad
Se produit lorsque une page web est charge dans
la fentre du navigateur
Toute la page (y compris les images quelle contient
si leur chargement est prvu) doit avoir t charge
pour quil ait lieu Cet vnement peut tre associ une image
seulement ; auquel cas, il se produit une fois son
chargement termin
Exemple de l'vnement onLoad
Les vnements (3)
8/3/2019 CourJavaScript
65/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 65
Les vnements (3) Evnement onClick
Se produit lorsque lutilisateur clique sur un lmentspcifique dans une page, comme un lien hypertexte, une
image, un bouton, du texte, etc.
Ces lments sont capables de rpondre sparment cet
vnement
Il peut galement tre dclench lorsque lutilisateur clique
nimporte o sur la page sil a t associ non pas un
lment spcifique, mais llment body tout entier
8/3/2019 CourJavaScript
66/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 66
Les vnements (4) vnement onMouseover
Analogue onClick sauf quil suffit que lutilisateurplace le pointeur de sa souris sur lun des lmentsprcits (lien hypertexte, image, bouton, texte, etc.)pour quil ait lieu
vnement onMouseout A linverse de onMouseover, cet vnement se
produit lorsque le pointeur de la souris quitte lazone de slection dun lment.
8/3/2019 CourJavaScript
67/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 67
Nommage des objets-lments
Pour pouvoir manipuler un objet en javaScript, il doitpossder un nom
Pour pouvoir distinguer les diffrents objets-lmentsdune page web, il suffit de leur donner un nom travers de lattribut NAME
Dans le cas o lobjet serait unique alors pas besoin denom pour dsigner cet objet
Exemple : le cas de BODY(une seul BODY pardocument), DOCUMENT (un seul DOCUMENT parfentre)
Manipulation des objets
8/3/2019 CourJavaScript
68/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 68
Manipulation des objets Pour adresser un objet, il ne suffit pas de donner son
nom : il faut aussi prciser son chemin daccs danslarborescence de la structure
Si le nom de la fentre est omis, le navigateur utiliserapar dfaut la fentre courante
Dans le cas de cadres (frames), il est pertinent dedonner le nom de la fentre
Il est possible aussi domettre window.document :ladressage russi puisquil ny a quun seul objet document dans la fentre
8/3/2019 CourJavaScript
69/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 69
Les Cookies (1)
Un "Cookie" est une chane de caractresqu'une page HTML (contenant du codeJavaScript) peut crire un emplacementUNIQUE et bien dfini sur le disque dur duclient.
Cette chane de caractres ne peut tre lue que par leseul serveur qui l'a gnre.
Que faire avec un cookie Transmettre des valeurs (contenu de variables) d'une
page HTML une autre.
Par exemple, crer un site marchand et constituer un"caddie" pour le client. Caddie qui restera sur son posteet vous permettra d'valuer la facture finale au bout dela commande. Sans faire appel quelque serveur que cesoit.
Personnaliser les pages prsentes l'utilisateur en
reprenant par exemple son nom en haut de chaquea e.
Les Cookies (2)
8/3/2019 CourJavaScript
70/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 70
Les Cookies (2) Limitations lors de lutilisation des cookies.
On ne peut pas crire autant de cookies que l'on veut sur leposte de l'utilisateur (client dune page). Il y a des limites :
Limites en nombre : Un seul serveur (ou domaine) ne peut pastre autoris crire plus de 20 cookies.
Limites en taille : un cookie ne peut excder 4 Ko.
Limites du poste client : Un poste client ne peut stocker plusde 300 cookies en tout.
O sont stocks les cookies En gnral, ils sont pour Netscape, dans le rpertoire de l'utilisateur
(si il y a des profils diffrents) sous le nom de "cookie.txt".
Microsoft Internet Explorer stocke les cookies dans des rpertoirestels que "C:\WINDOWS\Cookies" ou encore"C:\WINDOWS\TEMP\Cookies".
8/3/2019 CourJavaScript
71/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 71
Les Cookies (3)
Structure d'un cookie Nom=Contenu; expires=expdate; path=Chemin;
domain=NomDeDomaine; secure
Nom=Contenu; Sont deux variables suivies d'un ";" . Elles reprsentent
l'en-tte du cookie.
La variable Nom contient le nom donner au cookie.
La variable Contenu contient le contenu du cookie
Exemple ma_cookie= oui:visite
8/3/2019 CourJavaScript
72/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 72
Les Cookies (4)
Expires= expdate; Le mot rserv expires suivi du signe "=" (gal).
Derrire ce signe, vous mettrez une date
d'expiration reprsentant la date laquelle le cookie
sera supprim du disque dur du client.
La date dexpiration doit tre au format :
Wdy, DD-Mon-YYYY HH:MM:SS GMT
Utiliser les fonctions de l'objet Date
Rgle gnrale : 'indiquer un dlai en nombre de
jours (ou d'annes) avant disparition du Cookie.
8/3/2019 CourJavaScript
73/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 73
Les Cookies (5) path=Chemin;
path reprsente le chemin de la page qui a cr le cookie.
domain=NomDeDomaine; domain reprsente le nom du domaine de cette mme page
secure secure prend les valeurs "true" ou "false" selon que le cookiedoit utiliser des protocoles HTTP simples (non scuriss) ou
HTTPS (scuriss).
Les arguments path, domain et secure sont facultatifs.
lorsque ces arguments sont omis, les valeurs par dfaut sont
prises.
Pour secure, la valeur est "False" par dfaut.
Les Cookies (6)
8/3/2019 CourJavaScript
74/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 74
Les Cookies (6)
Ecrire un cookie
Un cookie est une proprit de l'objet document (la pageHTML charge dans le navigateur) alors lintruction
dcriture de cookie est:
document.cookie = Nom + "=" +
Contenu + "; expires=" +expdate.toGMTString() ;
varvarNomNom = "= "MonCookieMonCookie" ; //" ; // nom du cookienom du cookie
varvarContenuContenu = "= "H... Vous avez un cookie sur votre disque !H... Vous avez un cookie sur votre disque !" ; //" ; // contenu du cookiecontenu du cookie
varvar
expdateexpdate
= new Date ()= new Date ()
; // cre un objet date indispensable; // cre un objet date indispensable
puis rajoutons lui 10 jours d'existence :puis rajoutons lui 10 jours d'existence :
expdateexpdate.setTime (.setTime (expdateexpdate.getTime() + (.getTime() + ( 1010 ** 2424 ** 6060 ** 6060 ** 10001000)) ;)) ;
document.cookie = Nom + "=" + Contenu + "; expires=" + expdate.toGMTString() ;
Les Cookies (7)
8/3/2019 CourJavaScript
75/76
05/02/12 COUR FAIT PAR BOUAFIA REHABI 75
Les Cookies (7) Lecture d'un cookie
Accder la proprit cookie de l'objet document. Document.cookie
Modification d'un cookie Modifier le contenu de la variable Contenu puis rcrire
le cookie sur le disque dur du client
varvarLesCookiesLesCookies; //; // pour voir les cookiespour voir les cookies
LesCookiesLesCookies= document.cookie ; //= document.cookie ; // on met les cookies dans la variable LesCookieson met les cookies dans la variable LesCookies
Contenu= "Le cookie a t modifi..." ; // nouveau contenu
document.cookie =Nom+ "=" +Contenu+ "; expires=" +
expdate.toGMTString(); // criture sur le disque
8/3/2019 CourJavaScript
76/76
Les Cookies (8)
Suppression d'un cookie
Positionner la date de premption du cookie une valeurinfrieure celle du moment o on l'crit sur le disque.
//// on enlve une seconde (a suffit mais c'est ncessaire)on enlve une seconde (a suffit mais c'est ncessaire)
expdateexpdate.setTime (.setTime (expdateexpdate.getTime() - (.getTime() - (10001000)) ;)) ;
// criture sur le disque// criture sur le disque
document.cookie =document.cookie =NomNom+ "=" ++ "=" +ContenuContenu+ "; expires=" ++ "; expires=" +expdate.toGMTString()expdate.toGMTString();;