SlideShare ist ein Scribd-Unternehmen logo
1 von 22
M. DIENG Abdoulaye 
1
1. Présentation de JavaScript 
2. Inclusion du JavaScript 
3. Variable 
4. Types 
5. Opérateurs 
6. Entrée/Sortie de base 
7. Tableaux 
9. Structures de contrôle 
10. Fonctions 
11. Evénements 
12. Objet document 
2
 JavaScript, développé par Netscape en 1995, est un langage 
de script (côté client) incorporé dans un document 
(X)HTML pour créer des pages web interactives. 
 JavaScript permet, entre autres, de : 
• traiter les saisies et frappes faites au clavier; 
• traiter les mouvements et clicks de la souris ; 
• réagir aux actions précitées avec des sorties à l'écran ou 
des modifications dynamiques dans la page Web. 
 JavaScript permet de décharger le serveur de plusieurs 
tâches et d'éviter les attentes des réponses aux requêtes 
adressées via le réseau internet. 
 JavaScript est un langage interprété par le navigateur. 
3
 Inclusion interne : n’importe où dans la page html, avec la 
balise script comme suit : 
<script type="text/javascript"> 
Placez ici le code de votre script 
</script> 
 Inclusion externe : écrire le code JavaScript ds un fichier .js 
que l’on inclura dans toute page html comme suit : 
<script type="text/javascript" 
src="chemin/du/fichier_inclus.js"></script> 
 Toute dépendance doit être incluse avant le code. 
 En production, pour le chargement rapide d’une page : 
• inclure éventuellement JavaScript après le contenu ; 
• combiner plusieurs fichiers JavaScript. 
4
 Une variable permet de désigner un emplacement mémoire 
et possède : 
• un identificateur ou nom 
• une valeur ou contenu « provisoire »; 
• un type indiquant comment le contenu doit être 
interprété; 
 Syntaxe de déclaration d’une variable : 
var nomVariable; 
(Le mot var est facultatif, mais recommandé) 
 Le type d’une variable n’est déterminé que lors de 
l'affectation. 
5
 Type number: 
• Entier : en base 10, en hexadécimal ou en octal. 
• Réels : forme décimal ou avec exposant (e ou E). 
 Type string: 
• une string représente une suite de caractères. 
• une string est délimitée par des guillemets (' ou " ). 
• l’anti-slash () permet d’échapper ou de déspécialiser les 
caractères (', ", ). 
 Type boolean: 
exprime la valeur true ou la valeur false. 
Seules les valeurs 0 et ses variations, "" (la chaîne vide), 
null(absence délibérée de valeur),NaN(Not a Number), 
undefined (variable non initialisée) donnent false par 
conversion. 
6
 Number(obj) 
Convertit l’objet spécifié en nombre ou en NaN. 
Si obj est du type Date , Number retourne une valeur en 
millisecondes mesurées depuis le 01 Janvier 1970, 
positive après cette date, négative avant. 
 parseFloat(chaine) 
• Analyse une chaîne et retourne un nombre à virgule 
flottante ou retourne NaN. 
 parseInt(chaine, base) 
• Analyse une chaîne et retourne un entier dans la base 
base ou retourne NaN. 
 Si un caractère non conforme est rencontré, chacune de 
ces fonctions retourne la valeur analysée jusqu'à ce 
caractère (exclu). 7
 Opérateurs arithmétiques 
+, -, *, /, % (modulo), ++(incrément), --(décrément) 
NB : + permet aussi de concaténer deux string 
 Opérateurs d’assignation 
= (affectation), += (ajouter à), *=, /=, -=, %= 
NB : += permet aussi de concaténer deux string 
 Opérateurs logiques 
&& (et), || (ou), ! (non) 
 Opérateurs de comparaison 
== (égalité), <, <=, >, >=, != (différent) 
8
 prompt("question" [, "texteParDéfaut"]) 
• Ecrit une question dans une boîte de dialogue munie d’une 
zone de saisie et de deux boutons OK et Annuler; 
• Le texte par défaut, s’il est mis, s’affiche dans la zone de 
saisie pour aider l’internaute à répondre à la question 
• Retourne le texte saisi par le visiteur qui appuie aussi sur 
OK 
• Retourne null si le visiteur clique sur Annuler ou appuie 
sur la touche Echap. 
• Remplacer les caractères accentués par leur code latin-1 en 
octal précédé de l’anti-slash. 
Ex : é (351), è (350), ê (352), à (340) 
Table complète : www.pjb.com.au/comp/diacritics.html 
9
 confirm("texte") 
• Ecrit un texte (entre quotes dans le code source) et/ou la 
valeur d’une variable (hors quotes) dans une boîte de 
dialogue munie de deux boutons OK et Annuler, 
• Retourne true si le visiteur clique sur Ok 
• Retourne false si le visiteur clique sur Annuler ou 
appuie sur la touche Echap. 
• Un texte et une variable sont concaténés par +. 
• Pour écrire sur plusieurs lignes, utiliser le caractère n. 
• Remplacer tout caractère non-ASCII par son code latin-1 
en octal précédé de l’anti-slash. 
10
 alert("texte") 
• Ecrit un texte (entre quotes dans le code source) et/ou la 
valeur d’une variable (hors quotes) dans une boîte de 
dialogue munie d’un bouton OK. 
• Un texte et une variable sont concaténés par +. 
• Pour écrire sur plusieurs lignes, utiliser le caractère 
spécial de retour chariot n. 
• Remplacer tout caractère non-ASCII par son code latin-1 
en octal précédé de l’anti-slash. 
11
 document.write("texte") 
• Ecrit un texte (entre quotes dans le code source) et/ou la 
valeur d’une expression (hors quotes) dans le corps 
(body) du document, à la position de l'appel du script. 
• Un texte et une expression sont concaténés par , ou par 
+. 
• Pour écrire sur plusieurs lignes, utiliser la balise <br>. 
• Remplacer tout caractère non-ASCII par son code html. 
x 
12
 Les tableaux sont des objets (Array Object). 
 Déclaration d’un tableau : 
var nomTableau=new Array([dim]); 
 Déclaration et initialisation : 
• var nomTableau=new Array( element_1 [, element_2, …] ); 
• var nomTableau=[element_1 [, element_2, …] ]; 
 length, seule propriété de l’objet Array renvoi le nombre 
d’éléments d’un tableau 
 Accès à un élément : 
nomTableau[ i ] où i varie de 0 à length-1 
x 
13
 if (condition_1) 
{traitement_1} 
[else 
{traitement_2}] 
 if (condition_1) 
{traitement_1} 
else if (condition_2) 
{traitement_2} 
… // suite de elseif 
else 
{traitement_n} 
 switch (expression){ 
case valeur_1 : traitement 1; break; 
case valeur_2 : traitement 2; break; 
… 
[default : traitement par défaut] 
} 
14
 while(condition){ 
traitement 
} 
 do{ 
traitement 
}while(condition); 
 for(initialisation; condition; itération ){ 
traitement 
} 
 for(var x in obj){ 
traitement 
} 
x = indice ou propriété de obj 15 
x
 Syntaxe de la définition d’une fonction : 
function nomDeLaFonction([param_1 [, param_2, …] ] ) { 
séquence d'instructions; 
[return nom_variable] 
} 
 Le nom de la fonction est optionnel 
 Variable locale = variable déclarée dans une fonction avec var. 
 Variable globale = variable déclarée en dehors d’une fonction ou 
déclarée sans var 
x 
16
 Événement = changement d'état de l'environnement qui 
peut être intercepté par le code JavaScript 
 Quelques évènements 
click : l’élément associé est cliqué 
mouseOut : le pointeur de la souris quitte l’élément 
mouseOver : le pointeur de la souris survole l’élément 
focus : l’élément associé est ciblé 
blur : l’élément associé n’est plus ciblé 
change : le contenu du champ texte associé est modifié 
load : la page est chargée dans le navigateur 
submit : le formulaire associé est soumis 
17
 Gérer un événement = associer une action à un événement. 
 Syntaxe de la création d’un gestionnaire d'événement : 
• Attribut HTML : 
<balise onEvenement='Action_JavaScript ou nomFonction();'> 
Ex : <body onLoad="alert(‘la page est chargée !’);" > 
• Propriété DOM 
element.onevenement=function(){ … }; 
Ex : <span id="clickme">Cliquez-moi !</span> 
<script type="text/javascript"> 
var elt = document.getElementById('clickme'); 
elt.onclick = function() { 
alert("Vous m'avez cliqué !"); 
}; 
</script> 
element.evenement() déclenche un événement ds le code 
Ex : form1.submit() // soumet le formulaire form1 18
 Il permet d’accéder et de modifier le contenu d’une page 
Web 
 Quelques méthodes de sélection 
• getElementById("nomId") retourne un objet html à partir 
de son id 
• getElementsByTagName("nomElement") retourne un 
tableau d‘éléments HTML à partir de leur nom 
• querySelector("selecteur") retourne le 1er élément 
satisfaisant au sélecteur CSS. 
• querySelectorAll("selecteur") retourne tous les éléments 
satisfaisant au sélecteur CSS. 
19
20 
Expression Retour 
elem Les balises elem. 
elem bal Balises bal contenues dans une balise elem. 
elem > bal Balises bal directement descendantes d’une balise elem. 
elem + bal Balises bal immédiatement précédées d'une balise elem. 
elem ~ bal Balises bal précédées d'une balise elem. 
#nomId Balise ayant l'id "nomId". 
.nomClasse Balises ayant la classe "nomClasse". 
elem[attr] Balises elem dont l'attribut "attr" est spécifié. 
elem[attr="val"] Balises elem dont l'attribut "attr" vaut val. 
elem[attr^="val"] Balises elem dont l'attribut "attr" commence par val. 
elem[attr$="val"] Balises elem dont l'attribut "attr" se termine par val. 
elem[attr*="val"] Balises elem dont l'attribut "attr" contient val.
 Une fois sélectionné, tout contenu est accessible en lecture 
et en écriture 
 nomElement.innerHTML récupère ou définit tout le balisage 
et le contenu au sein d'un élément donné. 
 nomElement.nomAttribut récupère ou définit la valeur d’un 
attribut de l’élément concerné. 
 nomElement.style.propriétéCSS récupère ou définit une 
propriété de style de l’élément concerné. 
propriétéCSS a presque le même nom qu’en CSS 
Remplacer les "-" par une majuscule sur le mot suivant 
Ex : background-color → style.backgroundColor 
 nomElement.className récupère ou définit l’attribut class de 
x l’élément concerné. 
21
https://developer.mozilla.org/fr/docs/JavaScript/Référence_Ja 
vaScript 
http://www.toutjavascript.com/reference/ 
http://www.w3schools.com/jsref/ 
22

Weitere ähnliche Inhalte

Was ist angesagt?

358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7sumitbardhan
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
358 33 powerpoint-slides_5-arrays_chapter-5
358 33 powerpoint-slides_5-arrays_chapter-5358 33 powerpoint-slides_5-arrays_chapter-5
358 33 powerpoint-slides_5-arrays_chapter-5sumitbardhan
 
Introduction to NumPy
Introduction to NumPyIntroduction to NumPy
Introduction to NumPyHuy Nguyen
 
358 33 powerpoint-slides_2-functions_chapter-2
358 33 powerpoint-slides_2-functions_chapter-2358 33 powerpoint-slides_2-functions_chapter-2
358 33 powerpoint-slides_2-functions_chapter-2sumitbardhan
 
Pseudo code practice problems+ c basics
Pseudo code practice problems+ c basicsPseudo code practice problems+ c basics
Pseudo code practice problems+ c basicsakshay kumar
 
Introduction to Python - Part Two
Introduction to Python - Part TwoIntroduction to Python - Part Two
Introduction to Python - Part Twoamiable_indian
 
Storage Class in C Progrmming
Storage Class in C Progrmming Storage Class in C Progrmming
Storage Class in C Progrmming Kamal Acharya
 
Python dictionary
Python dictionaryPython dictionary
Python dictionaryeman lotfy
 
Test unitaire
Test unitaireTest unitaire
Test unitaireIsenDev
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 

Was ist angesagt? (20)

Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Arrays & Strings
Arrays & StringsArrays & Strings
Arrays & Strings
 
Data struture lab
Data struture labData struture lab
Data struture lab
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Pointers in C
Pointers in CPointers in C
Pointers in C
 
NumPy/SciPy Statistics
NumPy/SciPy StatisticsNumPy/SciPy Statistics
NumPy/SciPy Statistics
 
358 33 powerpoint-slides_5-arrays_chapter-5
358 33 powerpoint-slides_5-arrays_chapter-5358 33 powerpoint-slides_5-arrays_chapter-5
358 33 powerpoint-slides_5-arrays_chapter-5
 
Numpy Talk at SIAM
Numpy Talk at SIAMNumpy Talk at SIAM
Numpy Talk at SIAM
 
Introduction to NumPy
Introduction to NumPyIntroduction to NumPy
Introduction to NumPy
 
358 33 powerpoint-slides_2-functions_chapter-2
358 33 powerpoint-slides_2-functions_chapter-2358 33 powerpoint-slides_2-functions_chapter-2
358 33 powerpoint-slides_2-functions_chapter-2
 
Pseudo code practice problems+ c basics
Pseudo code practice problems+ c basicsPseudo code practice problems+ c basics
Pseudo code practice problems+ c basics
 
Introduction to Python - Part Two
Introduction to Python - Part TwoIntroduction to Python - Part Two
Introduction to Python - Part Two
 
Dictionary
DictionaryDictionary
Dictionary
 
Storage Class in C Progrmming
Storage Class in C Progrmming Storage Class in C Progrmming
Storage Class in C Progrmming
 
Python dictionary
Python dictionaryPython dictionary
Python dictionary
 
File handling in Python
File handling in PythonFile handling in Python
File handling in Python
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 

Andere mochten auch

Semaine de la critique
Semaine de la critiqueSemaine de la critique
Semaine de la critiqueLECREURER
 
I&e marques et blogueurs
I&e marques et blogueursI&e marques et blogueurs
I&e marques et blogueurssdelastic
 
La Mémoire du Journalisme Vénézuélien
La Mémoire du Journalisme VénézuélienLa Mémoire du Journalisme Vénézuélien
La Mémoire du Journalisme VénézuélienCarolinedeO
 
Como prosperar en una economia en crisis
Como prosperar en una economia en crisisComo prosperar en una economia en crisis
Como prosperar en una economia en crisisIsrael Garcia
 
Lesannées..
Lesannées..Lesannées..
Lesannées..scatavrio
 
President Assessment Slides
President Assessment SlidesPresident Assessment Slides
President Assessment SlidesMrDirby
 
Louer un bateau à Venise
Louer un bateau à VeniseLouer un bateau à Venise
Louer un bateau à VeniseWalter Fano
 
Sample Contracts
Sample ContractsSample Contracts
Sample Contractsada wong
 
Ingenieria civil
Ingenieria civilIngenieria civil
Ingenieria civilOskar Bello
 
UHA_M1_SRI_Cours2
UHA_M1_SRI_Cours2UHA_M1_SRI_Cours2
UHA_M1_SRI_Cours2SKennel
 
Programme salon du livre 1er mai Arras
Programme salon du livre 1er mai ArrasProgramme salon du livre 1er mai Arras
Programme salon du livre 1er mai ArrasFranck Dupont
 

Andere mochten auch (20)

Semaine de la critique
Semaine de la critiqueSemaine de la critique
Semaine de la critique
 
F2 Ch4 1
F2 Ch4 1F2 Ch4 1
F2 Ch4 1
 
I&e marques et blogueurs
I&e marques et blogueursI&e marques et blogueurs
I&e marques et blogueurs
 
La Mémoire du Journalisme Vénézuélien
La Mémoire du Journalisme VénézuélienLa Mémoire du Journalisme Vénézuélien
La Mémoire du Journalisme Vénézuélien
 
Como prosperar en una economia en crisis
Como prosperar en una economia en crisisComo prosperar en una economia en crisis
Como prosperar en una economia en crisis
 
Ami Un Tresor
Ami Un TresorAmi Un Tresor
Ami Un Tresor
 
Noobi n2
Noobi n2Noobi n2
Noobi n2
 
ING1000 Rencontre 1
ING1000 Rencontre 1ING1000 Rencontre 1
ING1000 Rencontre 1
 
Lesannées..
Lesannées..Lesannées..
Lesannées..
 
Outils marketing facebook
Outils marketing facebookOutils marketing facebook
Outils marketing facebook
 
President Assessment Slides
President Assessment SlidesPresident Assessment Slides
President Assessment Slides
 
Louer un bateau à Venise
Louer un bateau à VeniseLouer un bateau à Venise
Louer un bateau à Venise
 
Pronunciamiento confeniae
Pronunciamiento confeniae Pronunciamiento confeniae
Pronunciamiento confeniae
 
Sample Contracts
Sample ContractsSample Contracts
Sample Contracts
 
Ingenieria civil
Ingenieria civilIngenieria civil
Ingenieria civil
 
Invitations
InvitationsInvitations
Invitations
 
UHA_M1_SRI_Cours2
UHA_M1_SRI_Cours2UHA_M1_SRI_Cours2
UHA_M1_SRI_Cours2
 
3 serveur drbl
3 serveur drbl3 serveur drbl
3 serveur drbl
 
Programme salon du livre 1er mai Arras
Programme salon du livre 1er mai ArrasProgramme salon du livre 1er mai Arras
Programme salon du livre 1er mai Arras
 
Napoléon
NapoléonNapoléon
Napoléon
 

Ähnlich wie initiation au javascript

Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
introJavaScript.ppt
introJavaScript.pptintroJavaScript.ppt
introJavaScript.pptMarwenJAZI
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHPAbdoulaye Dieng
 
Initiation au JavaScript
Initiation au JavaScriptInitiation au JavaScript
Initiation au JavaScriptMouna Dhaouadi
 
Formation java script
Formation java scriptFormation java script
Formation java scriptRomdhani Asma
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdfMiRA452885
 
Intégration web MMI
Intégration web MMIIntégration web MMI
Intégration web MMIPierre VERT
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 OverviewGregory Renard
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024YounesOuladSayad1
 
Scrapez facilement et gratuitement
Scrapez facilement et gratuitementScrapez facilement et gratuitement
Scrapez facilement et gratuitementMadeline Pinthon
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDotNetHub
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfLamissGhoul1
 
Visual studio
Visual studioVisual studio
Visual studioISIG
 
mis
mismis
misISIG
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.pptAmineReal
 

Ähnlich wie initiation au javascript (20)

Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
introJavaScript.ppt
introJavaScript.pptintroJavaScript.ppt
introJavaScript.ppt
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Initiation au JavaScript
Initiation au JavaScriptInitiation au JavaScript
Initiation au JavaScript
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
Formation java script
Formation java scriptFormation java script
Formation java script
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
 
Intégration web MMI
Intégration web MMIIntégration web MMI
Intégration web MMI
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
Theme 6
Theme 6Theme 6
Theme 6
 
Scrapez facilement et gratuitement
Scrapez facilement et gratuitementScrapez facilement et gratuitement
Scrapez facilement et gratuitement
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
 
Php1
Php1Php1
Php1
 
Visual studio
Visual studioVisual studio
Visual studio
 
mis
mismis
mis
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
 

Mehr von Abdoulaye Dieng

Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturelAbdoulaye Dieng
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPressAbdoulaye Dieng
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 

Mehr von Abdoulaye Dieng (20)

Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Fondamentaux du Référencement naturel
Fondamentaux du Référencement naturelFondamentaux du Référencement naturel
Fondamentaux du Référencement naturel
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Prise en main de WordPress
Prise en main de WordPressPrise en main de WordPress
Prise en main de WordPress
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Introduction à jQuery
Introduction à jQueryIntroduction à jQuery
Introduction à jQuery
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Introduction à HTML 5
Introduction à HTML 5Introduction à HTML 5
Introduction à HTML 5
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 

initiation au javascript

  • 2. 1. Présentation de JavaScript 2. Inclusion du JavaScript 3. Variable 4. Types 5. Opérateurs 6. Entrée/Sortie de base 7. Tableaux 9. Structures de contrôle 10. Fonctions 11. Evénements 12. Objet document 2
  • 3.  JavaScript, développé par Netscape en 1995, est un langage de script (côté client) incorporé dans un document (X)HTML pour créer des pages web interactives.  JavaScript permet, entre autres, de : • traiter les saisies et frappes faites au clavier; • traiter les mouvements et clicks de la souris ; • réagir aux actions précitées avec des sorties à l'écran ou des modifications dynamiques dans la page Web.  JavaScript permet de décharger le serveur de plusieurs tâches et d'éviter les attentes des réponses aux requêtes adressées via le réseau internet.  JavaScript est un langage interprété par le navigateur. 3
  • 4.  Inclusion interne : n’importe où dans la page html, avec la balise script comme suit : <script type="text/javascript"> Placez ici le code de votre script </script>  Inclusion externe : écrire le code JavaScript ds un fichier .js que l’on inclura dans toute page html comme suit : <script type="text/javascript" src="chemin/du/fichier_inclus.js"></script>  Toute dépendance doit être incluse avant le code.  En production, pour le chargement rapide d’une page : • inclure éventuellement JavaScript après le contenu ; • combiner plusieurs fichiers JavaScript. 4
  • 5.  Une variable permet de désigner un emplacement mémoire et possède : • un identificateur ou nom • une valeur ou contenu « provisoire »; • un type indiquant comment le contenu doit être interprété;  Syntaxe de déclaration d’une variable : var nomVariable; (Le mot var est facultatif, mais recommandé)  Le type d’une variable n’est déterminé que lors de l'affectation. 5
  • 6.  Type number: • Entier : en base 10, en hexadécimal ou en octal. • Réels : forme décimal ou avec exposant (e ou E).  Type string: • une string représente une suite de caractères. • une string est délimitée par des guillemets (' ou " ). • l’anti-slash () permet d’échapper ou de déspécialiser les caractères (', ", ).  Type boolean: exprime la valeur true ou la valeur false. Seules les valeurs 0 et ses variations, "" (la chaîne vide), null(absence délibérée de valeur),NaN(Not a Number), undefined (variable non initialisée) donnent false par conversion. 6
  • 7.  Number(obj) Convertit l’objet spécifié en nombre ou en NaN. Si obj est du type Date , Number retourne une valeur en millisecondes mesurées depuis le 01 Janvier 1970, positive après cette date, négative avant.  parseFloat(chaine) • Analyse une chaîne et retourne un nombre à virgule flottante ou retourne NaN.  parseInt(chaine, base) • Analyse une chaîne et retourne un entier dans la base base ou retourne NaN.  Si un caractère non conforme est rencontré, chacune de ces fonctions retourne la valeur analysée jusqu'à ce caractère (exclu). 7
  • 8.  Opérateurs arithmétiques +, -, *, /, % (modulo), ++(incrément), --(décrément) NB : + permet aussi de concaténer deux string  Opérateurs d’assignation = (affectation), += (ajouter à), *=, /=, -=, %= NB : += permet aussi de concaténer deux string  Opérateurs logiques && (et), || (ou), ! (non)  Opérateurs de comparaison == (égalité), <, <=, >, >=, != (différent) 8
  • 9.  prompt("question" [, "texteParDéfaut"]) • Ecrit une question dans une boîte de dialogue munie d’une zone de saisie et de deux boutons OK et Annuler; • Le texte par défaut, s’il est mis, s’affiche dans la zone de saisie pour aider l’internaute à répondre à la question • Retourne le texte saisi par le visiteur qui appuie aussi sur OK • Retourne null si le visiteur clique sur Annuler ou appuie sur la touche Echap. • Remplacer les caractères accentués par leur code latin-1 en octal précédé de l’anti-slash. Ex : é (351), è (350), ê (352), à (340) Table complète : www.pjb.com.au/comp/diacritics.html 9
  • 10.  confirm("texte") • Ecrit un texte (entre quotes dans le code source) et/ou la valeur d’une variable (hors quotes) dans une boîte de dialogue munie de deux boutons OK et Annuler, • Retourne true si le visiteur clique sur Ok • Retourne false si le visiteur clique sur Annuler ou appuie sur la touche Echap. • Un texte et une variable sont concaténés par +. • Pour écrire sur plusieurs lignes, utiliser le caractère n. • Remplacer tout caractère non-ASCII par son code latin-1 en octal précédé de l’anti-slash. 10
  • 11.  alert("texte") • Ecrit un texte (entre quotes dans le code source) et/ou la valeur d’une variable (hors quotes) dans une boîte de dialogue munie d’un bouton OK. • Un texte et une variable sont concaténés par +. • Pour écrire sur plusieurs lignes, utiliser le caractère spécial de retour chariot n. • Remplacer tout caractère non-ASCII par son code latin-1 en octal précédé de l’anti-slash. 11
  • 12.  document.write("texte") • Ecrit un texte (entre quotes dans le code source) et/ou la valeur d’une expression (hors quotes) dans le corps (body) du document, à la position de l'appel du script. • Un texte et une expression sont concaténés par , ou par +. • Pour écrire sur plusieurs lignes, utiliser la balise <br>. • Remplacer tout caractère non-ASCII par son code html. x 12
  • 13.  Les tableaux sont des objets (Array Object).  Déclaration d’un tableau : var nomTableau=new Array([dim]);  Déclaration et initialisation : • var nomTableau=new Array( element_1 [, element_2, …] ); • var nomTableau=[element_1 [, element_2, …] ];  length, seule propriété de l’objet Array renvoi le nombre d’éléments d’un tableau  Accès à un élément : nomTableau[ i ] où i varie de 0 à length-1 x 13
  • 14.  if (condition_1) {traitement_1} [else {traitement_2}]  if (condition_1) {traitement_1} else if (condition_2) {traitement_2} … // suite de elseif else {traitement_n}  switch (expression){ case valeur_1 : traitement 1; break; case valeur_2 : traitement 2; break; … [default : traitement par défaut] } 14
  • 15.  while(condition){ traitement }  do{ traitement }while(condition);  for(initialisation; condition; itération ){ traitement }  for(var x in obj){ traitement } x = indice ou propriété de obj 15 x
  • 16.  Syntaxe de la définition d’une fonction : function nomDeLaFonction([param_1 [, param_2, …] ] ) { séquence d'instructions; [return nom_variable] }  Le nom de la fonction est optionnel  Variable locale = variable déclarée dans une fonction avec var.  Variable globale = variable déclarée en dehors d’une fonction ou déclarée sans var x 16
  • 17.  Événement = changement d'état de l'environnement qui peut être intercepté par le code JavaScript  Quelques évènements click : l’élément associé est cliqué mouseOut : le pointeur de la souris quitte l’élément mouseOver : le pointeur de la souris survole l’élément focus : l’élément associé est ciblé blur : l’élément associé n’est plus ciblé change : le contenu du champ texte associé est modifié load : la page est chargée dans le navigateur submit : le formulaire associé est soumis 17
  • 18.  Gérer un événement = associer une action à un événement.  Syntaxe de la création d’un gestionnaire d'événement : • Attribut HTML : <balise onEvenement='Action_JavaScript ou nomFonction();'> Ex : <body onLoad="alert(‘la page est chargée !’);" > • Propriété DOM element.onevenement=function(){ … }; Ex : <span id="clickme">Cliquez-moi !</span> <script type="text/javascript"> var elt = document.getElementById('clickme'); elt.onclick = function() { alert("Vous m'avez cliqué !"); }; </script> element.evenement() déclenche un événement ds le code Ex : form1.submit() // soumet le formulaire form1 18
  • 19.  Il permet d’accéder et de modifier le contenu d’une page Web  Quelques méthodes de sélection • getElementById("nomId") retourne un objet html à partir de son id • getElementsByTagName("nomElement") retourne un tableau d‘éléments HTML à partir de leur nom • querySelector("selecteur") retourne le 1er élément satisfaisant au sélecteur CSS. • querySelectorAll("selecteur") retourne tous les éléments satisfaisant au sélecteur CSS. 19
  • 20. 20 Expression Retour elem Les balises elem. elem bal Balises bal contenues dans une balise elem. elem > bal Balises bal directement descendantes d’une balise elem. elem + bal Balises bal immédiatement précédées d'une balise elem. elem ~ bal Balises bal précédées d'une balise elem. #nomId Balise ayant l'id "nomId". .nomClasse Balises ayant la classe "nomClasse". elem[attr] Balises elem dont l'attribut "attr" est spécifié. elem[attr="val"] Balises elem dont l'attribut "attr" vaut val. elem[attr^="val"] Balises elem dont l'attribut "attr" commence par val. elem[attr$="val"] Balises elem dont l'attribut "attr" se termine par val. elem[attr*="val"] Balises elem dont l'attribut "attr" contient val.
  • 21.  Une fois sélectionné, tout contenu est accessible en lecture et en écriture  nomElement.innerHTML récupère ou définit tout le balisage et le contenu au sein d'un élément donné.  nomElement.nomAttribut récupère ou définit la valeur d’un attribut de l’élément concerné.  nomElement.style.propriétéCSS récupère ou définit une propriété de style de l’élément concerné. propriétéCSS a presque le même nom qu’en CSS Remplacer les "-" par une majuscule sur le mot suivant Ex : background-color → style.backgroundColor  nomElement.className récupère ou définit l’attribut class de x l’élément concerné. 21