05/02/12
Histoire de Javascript
Le langage JavaScript a t cr en 1995 par Brendan Eich pour le compte de la Netscape Communications Corporation En 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 son navigateur. Netscape soumet alors JavaScript Ecma International pour standardisation Enfin, l'organisme ECMA, (European Computer Manufactures Association). dcide de crer une norme du noyau de ces langages qui serait accepte par tous .
05/02/12 COUR FAIT PAR BOUAFIA REHABI 2
JavaScript est un langage de programmation de scripts orient objet dont la syntaxe est base sur celle du Java ,C et C++. IL est principalement utilis dans les pages web interactives Les programmes Javascript permettent de rendre dynamique un site internet dvelopp par le langage HTML. Du code JavaScript peut tre intgr directement au sein des pages Web, pour y tre excut sur le poste client. C'est alors le navigateur Web qui prend en charge l'excution de ces programmes appels scripts. Gnralement, JavaScript sert contrler les donnes saisies dans des formulaires HTML, ou interagir avec le document HTML via l'interface Document Object Model, fournie par le navigateur (on parle alors parfois de HTML dynamique ou DHTML).
05/02/12 COUR FAIT PAR BOUAFIA REHABI 3
Caractristiques de javaScript
Ses principales caractristiques sont : JavaScript est un langage de programmation structure qui concourt enrichir le HTML. Le code JavaScript est intgr compltement dans le code HTML, et interprt par le navigateur client (qui reoit la page). La possibilit d'inclure des programmes dans les pages HTML et de les excuter directement sur le poste client , car elle permet dcharger le serveur de ce travail et ... d'viter les attentes des rponses aux requtes adresses via le Rseau. Il ne peut pas tre excut indpendamment, ce qui le limite comme langage de programmation. javaScript contient des gestionnaires d'vnements : il reconnat et ragit aux demandes de l'utilisateur, comme un clic de la souris, une validation de formulaire, etc... javaScript est diffrent de Java qui est un langage compltement autonome du langage HTML
05/02/12 COUR FAIT PAR BOUAFIA REHABI 4
HTML et JavaScript
la page HTML devra TOUJOURS contenir les deux balises spcifiques et indispensables
<script language="JavaScript"> ............ </script>
Le code JavaScript est plac dans le corps mme de la page HTML, entre les balises <body> .......... Et ......... </body>
05/02/12
Le code s'excutera seulement lors d'un vnement gnr par intervention de l'utilisateur. Il faut crire le code correspondant cet vnement dans le corps du 05/02/12 document HTML. COUR FAIT PAR BOUAFIA REHABI
05/02/12
Mthode confirm()
permet lutilisateur de choisir entre les boutons OK et Annuler.
Mthode prompt()
La mthode prompt() permet lutilisateur de taper son propre message en rponse la question pose
05/02/12
10
Le langage Javascript y est sensible la casse Il existe deux mthodes permettant d'intgrer des commentaires vos scripts.
05/02/12 COUR FAIT PAR BOUAFIA REHABI Placer un double slash (//) devant le texte 11
Si une valeur est affecte une variable sans que cette dernire ne soit dclare, alors Javascript la dclare automatiquement.
05/02/12
12
La porte
les variables peuvent tre globales ou locales. Une variable globale est dclare en dbut de script et est accessible n'importe quel endroit du programme. Une variable locale est dclare l'intrieur d'une fonction et n'est utilisable que dans la fonction elle-mme.
05/02/12
13
Les mots rservs JavaScript ne peuvent tre utiliss 05/02/12 comme noms de variable comme var , function ,. COUR FAIT PAR BOUAFIA REHABI
14
Boolean
deux valeurs littrales : true (vrai) et false (faux).
05/02/12 COUR FAIT PAR BOUAFIA REHABI 15
Valeurs spciales
JavaScript inclut aussi deux types de donnes spciaux :
Null : possde une seule valeur, null, qui signifie labsence 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 dite non dfinie (undifined).
05/02/12
16
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
05/02/12 COUR FAIT PAR BOUAFIA REHABI 17
05/02/12
18
05/02/12
19
05/02/12
20
05/02/12
21
05/02/12
22
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.
05/02/12
23
L'instruction if
L'instruction if est la structure de test la plus basique, on la retrouve dans tous les langages (avec une syntaxe diffrente...). Elle permet d'excuter une srie d'instruction si jamais une condition est ralise. La syntaxe de cette expression est la suivante: if (condition ralis) { liste d'instructions }
05/02/12
24
Remarques
la condition doit tre entre des parenthses il est possible de dfinir plusieurs conditions remplir avec les oprateurs ET et OU (&& et ||) par exemple: if ((condition1)&&(condition2)) teste si les deux conditions sont 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 pas ncessaires...
05/02/12 COUR FAIT PAR BOUAFIA REHABI 25
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
05/02/12 COUR FAIT PAR BOUAFIA REHABI 27
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.
05/02/12
28
La boucle for
L'instruction for permet d'excuter plusieurs fois la mme srie d'instructions: c'est une boucle! Dans sa syntaxe, il suffit de prciser le nom de la variable qui sert de compteur (et ventuellement sa valeur de dpart, la condition sur la variable pour laquelle la boucle s'arrte (basiquement une condition qui teste si la valeur du compteur dpasse une limite) et enfin une instruction qui incrmente (ou dcrmente) le compteur. La syntaxe de cette expression est la suivante: for (compteur; condition; modification du compteur) { liste d'instructions }
05/02/12 COUR FAIT PAR BOUAFIA REHABI 29
Exemple
for (i=1; i<6; i++) { Alert(i) } Cette boucle affiche 5 fois la valeur de i, c'est--dire 1,2,3,4,5 Elle commence i=1, vrifie que i est bien infrieur 6, etc... jusqu' atteindre la valeur i=6, pour laquelle la condition ne sera plus ralise, la boucle s'interrompra et le programme continuera son cours.
05/02/12
30
L'instruction while
L'instruction while reprsente un autre moyen d'excuter plusieurs 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 condition est ralise.
05/02/12
31
Saut inconditionnel
Il peut tre ncessaire de faire sauter la boucle une ou plusieurs valeurs sans pour autant mettre fin celle-ci. La syntaxe de cette expression est "continue;" (cette instruction se place dans une boucle!), on l'associe gnralement une structure conditionnelle, sinon les lignes situes entre cette instruction et la fin de la boucle seraient obsoltes.
05/02/12
32
Exemple
Imaginons que l'on veuille imprimer pour x allant de 1 10 la valeur de 1/(x-7) ... il est vident que pour x=7 il y aura une erreur. Heureusement, grce l'instruction continue il est possible de traiter cette valeur part puis de continuer la boucle! x=1 while (x<=10) { if (x == 7) { Alert('division par 0'); continue; } a = 1/(x-7); Alert(x); x++ }
05/02/12 COUR FAIT PAR BOUAFIA REHABI 33
Attention Erreurrrrrr
Il y avait une erreur dans ce script... peut-tre ne l'avez-vous pas vue: Lorsque x est gal 7, le compteur ne s'incrmente plus, il reste constamment la valeur 7, il aurait fallu crire: x=1 while (x<=10) { if (x == 7) { Alert('division par 0'); x++; continue; } a = 1/(x-7); Alert(x); x++ }
05/02/12 COUR FAIT PAR BOUAFIA REHABI 34
Arrt inconditionnel
A l'inverse, il peut tre voulu d'arrter prmaturment la boucle, pour une autre conditon que celle prcis dans l'en-tte de la boucle. L'instruction break permet d'arrter une boucle (for ou bien while). Il s'agit, tout comme continue, 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 ne savait pas quel moment le dnominateur (x-7) s'annule (bon...OK...pour des quations plus compliques par exemple) il serait possible de faire arrter la boucle en cas d'annulation du dnominateur, pour viter une division par zro! for (x=1; x<=10; x++) { a = x-7; if (a == 0) { Alert('division par 0'); break; } Alert(1/a); 05/02/12 COUR FAIT PAR BOUAFIA REHABI 35 }
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.
05/02/12
36
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 variables locales, propres la fonction, ainsi que l'ensemble des traitements. Une fonction aura dans son corps une ou plusieurs instructions return qui permet de renvoyer une valeur ou un objet. L'instruction return n'est pas obligatoire; on a alors affaire une instruction qui ne renvoie pas de valeur.
05/02/12 COUR FAIT PAR BOUAFIA REHABI 38
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 de taper nom_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 (o propriete reprsente bien sr le nom de la proprit).
05/02/12
39
05/02/12
40
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
parseFloat
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 prix=30.75; var arrondi = parseInt(prix, 10); //retourne 30
05/02/12 COUR FAIT PAR BOUAFIA REHABI 43
String
convertit l'objet spcifi en chane de caractres
jour = new Date(430054663215);//Convertit le nombre en date Mois jour, Annee etc. alert (String(jour));
Escape retourne la valeur hexadcimale partir d'une chane de caractre code en ISO-Latin-1.
escape("!&") //retourne %21%26%
05/02/12
44
Proprit : length : retourne la longueur de la chane de caractres; Mthodes : anchor( ) : formate la chane avec la balise <A> nomme; b( ) : formate la chane avec la balise <B>; big( ) : formate la chane avec la balise <BIG>; 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;
05/02/12 COUR FAIT PAR BOUAFIA REHABI 48
L'objet Array
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 du tableau; slice( ) : retourne une section du tableau; sort( ) : permet le classement des lments du tableau;
05/02/12 COUR FAIT PAR BOUAFIA REHABI 50
05/02/12
51
05/02/12
56
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.
COUR FAIT PAR BOUAFIA REHABI 59
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
05/02/12 COUR FAIT PAR BOUAFIA REHABI 61
L'objet navigator
Proprits
appName : application (Netscape, Internet Explorer) appVersion : numero de version. platform : systme dexploitation (Win32) plugins language mimeTypes JavaEnabled()
05/02/12 COUR FAIT PAR BOUAFIA REHABI 62
vnement onMouseout
A linverse de onMouseover, cet vnement se produit lorsque le pointeur de la souris quitte la zone de slection dun lment.
<HTML><BODY> <IMG SRC="image.gif" onMouseOver="src='image2.gif';" onMouseOut="src='image.gif';"> </BODY></HTML>
05/02/12 COUR FAIT PAR BOUAFIA REHABI 66
Dans le cas o lobjet serait unique alors pas besoin de nom pour dsigner cet objet
Exemple : le cas de BODY(une seul BODY par document), DOCUMENT (un seul DOCUMENT par fentre)
COUR FAIT PAR BOUAFIA REHABI
05/02/12
67
Si le nom de la fentre est omis, le navigateur utilisera par dfaut la fentre courante Dans le cas de cadres (frames), il est pertinent de donner le nom de la fentre Il est possible aussi domettre window.document : ladressage russi puisquil ny a quun seul objet document dans la fentre
05/02/12 COUR FAIT PAR BOUAFIA REHABI 68
Cette chane de caractres ne peut tre lue que par le seul serveur qui l'a gnre. 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 poste et vous permettra d'valuer la facture finale au bout de la commande. Sans faire appel quelque serveur que ce soit.
05/02/12
Personnaliser les pages prsentes l'utilisateur en COUR FAIT PAR BOUAFIA REHABI 69 reprenant par exemple son nom en haut de chaque page.
05/02/12
71
05/02/12
74
Document.cookie
var LesCookies ; // pour voir les cookies LesCookies = document.cookie ; // on met les cookies dans la variable LesCookies
05/02/12
75
05/02/12
76