Académique Documents
Professionnel Documents
Culture Documents
Javascript
# Langage de programmation
Navigateur
# Il est exécuté par le navigateur
=> dans le contexte d’une page web Page web
=>coté client
Javascript
Insérer du javascript
# Code javascript dans un fichier externe
<!DOCTYPE html>
<html>
<body>
<div onclick="code javascript"></div>
</body>
</html>
Insérer du javascript
# Code javascript dans un fichier externe
<!DOCTYPE html>
<html>
<head>
<script src="chemin vers le fichier/nom_du_fichier.js "></script>
</head>
<body>
…
</body>
</html>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
…
<script src="chemin vers le fichier/nom_du_fichier.js"></script>
</body>
</html>
Placer le code JS dans la page
# Où insérer le script js ?
# Plus les scripts sont longs plus la page mettra du temps à s’afficher
instruction;
instruction
instruction;
instruction; instruction;
# Exemple d’instruction
# _
# $
# Ne peut pas être des mots clés utilisés par Javascript ( let, function …)
Variable
# Déclarer une variable
let ma_variable;
let ma_variable2
let ma_variable3, mavariable4
let a ;
let nom, prenom;
Variable
# Javascript sensible à la casse
let maVariable ;
3 variables différentes
let mavariable ;
let MAVARIABLE ;
Variable
# Affectation d’une variable (donner une valeur à une variable)
let nom_variable2;
nom_variable2 = VALEUR;
# let age = 25
LES TYPES DE
VARIABLES
Javascript langage faiblement typé
Connaitre le type de la variable
# typeof
Les types de variables
# Numérique (number) : nombre
# Tableau (array)
# …
Numérique
# Écriture entier : number = 5;
ìndice 0 1 2 3
mon_tableau[indice];
mon_tableau_2[0] => 12
mon_tableau_2[2] => 157
mon_tableau_2[3] => true
for(i=0;i<mon_tableau.lenght; i++){
mon_tableau[i]
}
• ++ : ajouter 1 : incrémentation
• - - : soustraire 1 : décrémentation
Objet
# Objet est une collection de propriétés et de méthodes
# Propriété = caractéristique
# Méthode = fonction
voiture.marque
Objet
# Pour accéder à une propriété d’un objet
objet.propriete
objet.methode(argument)
LES CONDITIONS
Condition
# Sorte de test permettant de vérifier ou non une expression
Opérateurs de comparaison
# Comparer des valeurs
La condition if
if(condition){
// si la condition est vraie alors j’exécute les instructions entre accolades
instruction_1;
instruction_2;
}
instruction_3
if(age == 18){
// instructions
}
1. instruction_0;
2. if(2 != 2){
3. // si la condition est vraie alors j’exécute les instructions entre accolades
4. instruction_1;
5. instruction_2;
6. }
7. instruction_3 ;
let a = 2
1 let b = 5 1
2 ( 2==2 => vrai) let c 2 ( 2 !=2 ==> false)
4 let d = 2 7
5
7 a==b ==> non
a==d ==> oui
1. let a = 2, b = 2
2. if(a == b){
3. // si la condition est vraie alors j’exécute les instructions entre accolades
4. instruction_1;
5. instruction_2;
6. }
7. instruction_3 ;
1
La condition if else
if(condition){
// si la condition est vraie alors j’exécute les instructions entre accolades
instruction_1;
instruction_2;
}else{
// si la condition est fausse alors j’exécute les instructions entre accolades
instruction_3
}
instruction_4
if(age == 18){
// instructions
}else if(age<18){
// instructions
}else{
// instructions
}
1. instruction_0;
2. if(condition){
3. // si la condition est vraie alors j’exécute les instructions entre accolades
4. instruction_1;
5. instruction_2;
6. }
7. instruction_3 ;
1. instruction_0;
2. if(condition){
3. // si la condition est vraie alors j’exécute les instructions entre accolades
4. instruction_1;
5. instruction_2;
6. }else{
7. instruction_3
8. instruction_4
9. }
10. instruction_5 ;
# Let age_utilisateur => demander âge a l’utilisateur
# }else{
# }
# Let age_utilisateur => demander âge a l’utilisateur
# Let age_utilisateur => demander âge a l’utilisateur
# Affiche ( mineur)
# if( age_utilisateur < 18){
# }
# Affiche ( mineur)
# if(age_utilisateur == 18){
# }else if(age_utilisateur == 18){
# Affiche (Tu as 18 ans)
# Affiche (Tu as 18 ans)
# }
# }else{
# if(age_utilisteur > 18) {
# Affiche(« majeur)
# Affiche(« majeur)
# }
# }
LES BOUCLES
Une boucle
# Une boucle est une structure conditionnelle qui se répète jusqu’à
un point d’arrêt
while(condition){
// tant que la condition est vraie, on exécute les instructions
instruction_1;
instruction_2;
}
instruction_3;
1. instruction_0
2. let mavariable = 2
3. while(mavariable > 0){
4. // tant que la condition est vraie, on exécute les instructions
5. instruction_1;
6. instruction_2;
7. mavariable = mavariable + 1
8. }
9. instruction_3;
1. instruction_0
2. let mavariable = 2
3. while(mavariable > 4){
4. // tant que la condition est vraie, on exécute les instructions
5. instruction_1;
6. instruction_2;
7. mavariable = mavariable + 1
8. }
9. instruction_3;
1. instruction_0
2. let mavariable = 2
3. while(mavariable < 4){
4. // tant que la condition est vraie, on exécute les instructions
5. instruction_1;
6. instruction_2;
7. mavariable = mavariable + 1
8. }
9. instruction_3;
Boucle for
for(initialisation;condition; incrémentation){
// code
}
for(i=0; i<10;i=i+1){
//instructions
}
1.let mon_tableau =[12,15,7];
2.for(i=0;i<3; i=i+1){
3. afficher(mon_tableau[i])
4. }
5. instruction_2
ìndice 0 1 2
Donnée 12 15 7
LES FONCTIONS
Fonction
# Une fonction est un sous-programme qui effectue une
tâche ou un calcul et qui permet de renvoyer un résultat.
Dans la plupart des cas, elle contient des paramètres.
Des paramètres sont des informations qui seront
récupéré par la fonction et qui serviront à l'exécution de
la tâche ou du calcul.
nom_fonction(); saluer();
Fonction avec argument
# Déclaration d’une fonction avec argument
Exemple
function saluer(prenom){
function nom_fonction(arg1, ,argN){ // exemple d’instruction
// instructions; //alert(« Bonjour " +prenom) ;
}
}
saluer("Jihane ");
saluer(" Tom ");
Bonjour Jihane
Bonjour Tom
Retourner les données d’une fonction
Exemple
Let s2
let s1 =saluer("Jihane" );
s2 = saluer("Pauline")
let phrase = nom_fonction(param1,… ,paramN);
console.log(s1);
function saluer(prenom){
Let resultat ;
if(prenom == « Jihane » ){
résultat = " Bonjour " +prenom ;
}
else{
résultat = prenom + prenom
}
return résultat;
}
Exemple d’exécution
1. function additionner(a,b,c){ 1. function additionner(a,b,c){
2. return a+b+c ; 2. return a+b+c ;
3. } 3. }
4. let result;
4. if( 1 == 1 ){ 5. if( 1 == 1 ){
5. instruction_1 6. additionner(1,2,3)
6. }else{ 7. }else{
7. instruction_2 8. result = additionner(4,5,7)
8. } 9. }
9.instruction_4 10.instruction_4
JS DANS LE NAVIGATEUR
alert()
prompt()
Console
# Pour afficher les alertes dans la console du navigateur
document.write("Affichage de 5 nombres")
INTERAGIR AVEC
L'INTERFACE UTILISATEUR
Les événements
# Actions se produisent dans le système que vous programmez et
dont le système vous informe afin que vous puissiez y répondre
d'une manière ou d'une autre.
# Exemple :
(onmouseout)
Évènement
Evénements & JS
# 3 manières
# Méthode addEventListener
Attributs HTML de type évènement
# Cette façon de faire est déconseillée mais elle est simple à mettre
en place pour un débutant
<element evenement="nom_fonction()">
Page HTML :
<input type="button" onclick="BoutonClick()" value="MON BOUTON" />
Propriétés JavaScript liées aux évènements ;
1 1. récupérer l’élément
#
3a
# 3 Lui donner la référence de la fonction qui va être appelée au moment du click
3b
# 3 ou créer une fonction anonyme
2 3a
2
3b
Méthode addEventListener
1 1. récupérer l’élément
#
3a
# 3 Lui passer en paramètre : le nom de l’événement et la référence de la fonction qui va être appelée
3b
# 3 Lui passer en paramètre : le nom de l’événement et une fonction anonyme
1
2
3a
2
3b
Evénements & JS
# Cette façon de faire est déconseillé mais elle est simple à mettre
en place pour un débutant
function nom_fonction(){
// code js;
}
Page JS :
function BoutonClick() {
alert("Tu as cliqué sur le bouton");
}
Evénements & JS
<input type="button" onclick="BoutonClick()" value="MON BOUTON" />
function BoutonClick() {
alert("Tu as cliqué sur le bouton");
}
Evénements & JS
<input type="button" onclick="BoutonClick(109) " value="MON BOUTON" />
function BoutonClick(a) {
alert(" la valeur de a = "+a );
}
DOM
DOM
# Document Object Model
# …
Hiérarchisation des nœuds
# Relation parent/enfant
Document
<html>
<head> HTML
<title>Page Title</title>
<link src=a.css></link>
</head> Head Body
<body>
# getElementById()
# getElementsByTagName()
# getElementsByClassName()
# querySelector()
# querySelectorAll()
Accéder aux éléments
# Méthode javascript getElementById recherche dans le document
HTML un noeud unique qui a l’id spécifié en paramètre
<html>
<head>
<title>Page Title</title>
</head> document.getElementById("div1")
<body>
elements[3].innerText = "test"
// traitement, code …
//result.innerHTML += "l'element "+elements[i].id+" est de type div";
getElementsByClassName
# getElementsByClassName(«class »)
}
querySelector
# querySelector(« selecteur ») : sélectionne le premier élément
spécifié en paramètre
element.syle.color = « red »
}
Accéder à un noeud enfant
# firstChild : accède au premier enfant d’un noeud
element = document.getElementById("container");
result.innerHTML = " L'element container a "+element.childElementCount+" enfants";
result.innerHTML += " <br> le premier est "+element.firstElementChild.nodeName;
result.innerHTML += " <br> le dernier est "+element.lastElementChild.nodeName;
element.childNodes :
element.children :
element = document.querySelector("#enfant_4");
result.innerHTML = element.parentNode.id;
Accéder à un noeud suivant / précédent
# nextSibling :accéder au noeud suivant
element = document.querySelector("#enfant_4");
element = document.querySelector("#enfant_4");
titre[0].setAttribute(« id » , « id_h1 »)
titre[0].setAttribute(« lang », »fr »)
# document.getElementById(« id du parent »)
# document.createElement(« balise html » )
# <leparent>.appendChild( <enfant >)
# Parent = document.getElementById(« id »);
# old_node = document.getElementById(« h4 »)
# 4. Remplacer le noeud
# parent.replaceChild(new_node, old_node);
<div id=« div1 »>
<h2></h2>
<h3> h3 </h3>
</div>
DOM & javascript
# La propriété Element.innerHTML
noeud.propriété
// sauf class, il faut utiliser className car le mot class est un mot-clé réservé en JS
Propriété d’un noeud
# Pour modifier une propriété d’un noeud :
noeud.style.<NOM_DU_STYLE>
noeud.style.<NOM_DU_STYLE> = <VALEUR>
# Si la classe est présente : elle est supprimée, et si elle n’est pas présente elle est rajoutée : toggle
if(titre.classList.contains(« blue »)){
//
}else{
//
}