DevWeb2 Part1
DevWeb2 Part1
CHAPITRE 1
INTRODUCTION À JAVASCRIPT
Introduction
Insertion de JavaScript Dans HTML
3
Introduction
4
“
INSERTION DE JAVASCRIPT DANS
HTML
”
Insertion de JavaScript Dans HTML
6
Directement dans une balise HTML
Exemple:
<body>
<p onclick="alert('Paragraphe')"> Un paragraphe </p>
</body>
Code JavaScript
7
JavaScript interne à un fichier HTML
Tout code JavaScript à intégrer dans une page HTML doit être placé entre les balises « script » :
L'élément HTML <script> est utilisé pour intégrer ou faire référence à un script (en JavaScript ou
un autre langage de script)
<script >
//ajouter votre code javaScript
</script>
Il est possible de spécifier les attributs type et/ou language de la balise <script>
<html>
9
JavaScript dans un fichier externe
Il est possible d'utiliser des fichiers externes (avec l'extension .js) pour les scripts JavaScript et les
intégrer dans un fichier HTML. La balise script devient :
<script language="javascript" src="chemin/nom_fichier.js">
//ajouter votre code javaScript
</script>
exemple.html
myscript.js
<html>
let msg = "Hello world";
<head> …</head>
<body> document.write("mon message "+ msg);
<!--Appel du script externe-->
<script language="javascript" src="myscript.js">
</script>
</body>
</html> 10
“
SYNTAXE ET COMMENTAIRES
”
Syntaxe de base
JavaScript emprunte la plupart des éléments de sa syntaxe à Java, C et C++ mais sa syntaxe est
également influencée par Perl et Python.
En JavaScript, les instructions sont séparées par des points-virgules.
Il n'est pas nécessaire d'inclure un point-virgule si l'on écrit une instruction sur une nouvelle ligne
JavaScript est sensible à la casse
Un commentaire sur une ligne s’écrit après un double slash :
Un commentaire sur plusieurs lignes s’écrit entre deux balises /* et */
12
“
AFFICHAGE DANS UN FICHIER
HTML
”
Affichage dans un fichier HTML
<body>
<script language="javascript" >
bonjour = "Bonjour !";
question = "Comment allez vous ";
phrase = bonjour + "<BR>" + question;
document.write(phrase, "aujourd'hui ?");
</script>
<body> 14
Affichage dans un fichier HTML
15
“
LES BOITES DE DIALOGUE
”
Les boites de dialogue
Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et
qui permet
Soit d'avertir l'utilisateur
Soit le confronter à un choix
Soit lui demander de compléter un champ pour récupérer une information
JavaScript propose 3 boîtes de dialogue par défaut (de l’objet window) qui permettent
d’interagir avec l’utilisateur
alert() : permet d’afficher un message.
confirm() : permet de récupérer une valeur booléenne
prompt() : permet de récupérer une valeur textuelle.
17
alert()
Alert(): Elle permet d’afficher un texte et/ou le contenue d’une variable et un bouton « OK ».
Code résultat
alert("Mon message");
let x = 20;
alert("Mon age est "+ x);
18
confirm()
19
prompt()
prompt(): Elle permet d’afficher un message, un champ à remplir (input de type texte) et un
bouton « OK ». Elle retourne la valeur qui a été entré dans le champ par l’utilisateur.
La méthode prompt() requiert deux arguments :
Le texte à afficher dans la boite de message
la chaîne de caractères par défaut dans le champ de saisie
// La valeur à saisir dans l’input sera sauvegardé dans la variable “age”
var age = prompt("saisir votre age", 20);
let age = prompt("saisir votre age", 20);
Valeur par
défaut
20
Développement Web et MM-II
CHAPITRE 2
VARIABLES ET CONSTANTES
LA DECLARATION ET L’AFFECTATION
PLAN
Les variables sont des conteneurs dans lesquels on peut stocker des valeurs.
En Javascript, les noms de variables doivent répondre à certains critères :
Il doit commencer par une lettre ou un "_"
Il peut comporter des lettres, des chiffres et les caractères _ et &
Javascript est faiblement typé : le langage déterminera automatiquement le type d'une
variable, on n'a donc pas besoin de spécifier le type d'une variable à sa création.
Il est possible de modifier le type d'une variable au cours de l’exécution du programme.
23
Déclaration
La déclaration consiste à donner un nom à la variable, alors que l’affectation consiste à donner
une valeur à la variable.
Le type n’est pas précisé lors de la déclaration.
var On déclare une variable dont la portée est globale var age = 20
let On déclare une variable dont la portée est celle du bloc let nom =‘Ahmed’;
courant. La plus utilisée.
const const PI=3.14;
La syntaxe de déclaration des variables avec let correspond à la nouvelle syntaxe. La syntaxe
avec var est l’ancienne syntaxe qui est vouée à disparaitre.
24
let vs. var
Remontée (Hoisting)
Avec var, on n’est pas obligé de déclarer la variable avant de la manipuler dans le code.
Cela est possible car le JavaScript va traiter les déclarations de variables effectuées avec var
avant le reste du code JavaScript.
Ce comportement, appelé remontée ou hoisting, a été jugé comme inadapté dans les versions
récentes de JavaScript et a donc été corrigé dans la déclaration de variables avec let
//Ceci fonctionne
prenom = "Toto";
var prenom;
La re-déclaration de variables
Avec l’ancienne syntaxe var, on avait le droit de déclarer plusieurs fois une même variable en
utilisant à chaque fois var (ce qui avait pour effet de modifier la valeur stockée).
La nouvelle syntaxe avec let n’autorise pas cela. Pour modifier la valeur stockée dans une
variable avec la nouvelle syntaxe, il suffit d’utiliser le nom de la variable et de lui affecter une
autre valeur.
//Ceci fonctionne
var prenom = "Toto";
var prenom="Tata";
”
Les types de variables
En JavaScript, il existe 8 types de valeurs différents. Chaque valeur qu’on va pouvoir créer et
manipuler en JavaScript va obligatoirement appartenir à l’un de ces types:
String
Number
Bigint
Boolean
Null
Undefined
Symbol
Object
Voir: https://www.w3schools.com/js/js_datatypes.asp
28
Les types de variables
JavaScript a des types dynamiques. Cela signifie que la même variable peut être utilisée pour
contenir différents types de données :
29
Chaîne de caractères ou « String »
30
Les nombres « Number»
En JavaScript, et contrairement à la majorité des langages, il n’existe qu’un type prédéfini qui
va regrouper tous les nombres qu’ils soient positifs, négatifs, entiers ou décimaux (à virgule) et
qui est le type Number.
BigInt:
JavaScript BigInt est un nouveau type de données (ajouté en 2020) qui peut être utilisé pour
stocker des valeurs entières trop grandes pour être représentées par un nombre JavaScript
normal ( 64-bit floating-point )
31
Booléen ou « Boolean »
Le type booléen ne contient que deux valeurs : les valeurs true (vrai) et false (faux).
let x = 5;
let y = 5;
let z = 6;
(x == y) // Returns true
(x == z) // Returns false
32
Les types de valeurs Null et Undefined
La valeur undefined correspond à une variable « non définie », c’est-à-dire une variable à
laquelle on n’a pas affecté de valeur.
En JavaScript, une variable sans valeur a la valeur undefined. Le type est également undefined.
La définition de Undefined ressemble à celle de null et pourtant ces deux valeurs sont
différentes. Si on déclare une variable et qu’on lui passe null, alors son type sera Object.
33
L'opérateur typeof
34
Conversion de types
Lorsque des expressions impliquent des chaînes de caractères et des valeurs numériques ainsi
que l'opérateur +, JavaScript convertit les nombres en chaînes de caractères :
x = "La réponse est " + 42; // "La réponse est 42"
y = 42 + " est la réponse"; // "42 est la réponse"
35
Conversion de type
37
Conversion de type
isNaN(0/0); //true
isNaN(‘’); //false
isNaN('A’); // true
isNaN(true); //false
isNaN(false); //false
38
Conversion de type
39
Conversion de type
let x = 123;
String(x); //123 returns a string from a number variable x
String(123) ; //123 returns a string from a number literal 123
String(100 + 23); //123 returns a string from a number from an expression
40
“
LES OPÉRATEURS
”
Les opérateurs arithmétiques
42
Les opérateurs de comparaison
43
Les opérateurs logiques
44
Les opérateurs d'incrémentation
45
Développement Web et MM-II
CHAPITRE 3
Les structures conditionnelles
LES structures itératives
“
LES STRUCTURES CONDITIONNELLES
”
Structure conditionnelle simple (if…)
Syntaxe:
if (condition)
{ Bloc d’instructions }
Exemple:
if (x==2)
document.write("X vaut 2");
49
Structure conditionnelle composée
(if…else)
Syntaxe:
if (condition)
{ Bloc d’instructions 1 }
else
{ Bloc d’instructions 2 }
Exemple:
if (x==2)
document.write("X vaut 2");
else
document.write("Autre valeur");
50
Structure conditionnelle à choix multiple
(switch… case )
Syntaxe: Exemple:
51
“
LES STRUCTURES ITÉRATIVES
”
Boucle for
Syntaxe:
Exemple:
53
Boucle while
Syntaxe:
while (condition)
{
Bloc d’instructions
}
Exemple:
let compt=1;
while (compt<5) {
document.write ("ligne : " + compt + "<BR>");
compt++;
}
54
Boucle do … while
Syntaxe:
do
{
Bloc d’instructions
}
while(condition);
Exemple:
let compt=1;
do{
document.write ("ligne : " + compt +
"<BR>");
compt++;
}while(compt<5)
55
Développement Web et MM-II
CHAPITRE 4
TABLEAUX ET FONCTIONS
Les tableaux
PLAN
Les fonctions
Les objets prédéfinis: Array, String, Math
Les objets personnalisés
“
LES TABLEAUX
”
Les tableaux
60
Accéder à une valeur dans un tableau
Pour accéder à une valeur en particulier dans un tableau, il suffit de préciser le nom du tableau
puis l’indice associé à la valeur à laquelle on souhaite accéder entre crochets [].
let tab = [] ;
for ( let i = 0 ; i < 5 ; i++) {
tab [i] = i;
document.write (tab[i]+" ");
}
61
Parcours d’un tableau: boucle for … of
62
Les tableaux multidimensionnels
63
“
LES FONCTIONS
”
Les fonctions
65
Déclaration et appel
66
Déclaration et appel
Exemple:
function positif(x) {
if(x>=0)
console.log("Nombre positif");
else
console.log("Nombre négatif")
}
67
La forme fléchée
C’est une autre syntaxe de déclaration de fonctions qui est équivalente, côté fonctionnement,
à celle proposée auparavant.
let nomDeLaFonction = (liste des arguments)=>
{ Liste des instructions; }
Exemples:
//Déclaration
let myFunction = (a, b) => a * b;
//appel
myFunction(4, 5)
hello = () => {
return "Hello World!"; }
Voir: https://www.w3schools.com/js/js_arrow_function.asp
68
Portée des variables
La « portée » d’une variable désigne l’espace du script dans laquelle elle va être accessible.
En JavaScript, il n’existe que deux espaces de portée différents :
L’espace global: le script entier, à l’exception de l’intérieur des fonctions
L’espace local: l’espace dans une fonction.
une variable définie dans l’espace global d’un script va être accessible à travers tout le script,
même depuis une fonction.
une variable définie dans une fonction n’est accessible que dans cette même fonction et ne
peut pas être manipulée depuis l’espace global du script.
69
Portée des variables
//On déclare deux variables globales
let x = 5;
var y = 10;
//On définit une première fonction qui utilise les variables globales
function portee1(){
document.write("Depuis portee1() : <br>x = " + x + "<br>y = " + y+ "<br>");
}
//On définit une deuxième fonction qui définit des variables locales
function portee2(){
let a = 1;
var b = 2;
document.write("Depuis portee2() : <br> a = " + a + "<br>b = " + b+ "<br>");
}
//On définit une troisième fonction qui défnit également des variables locales
function portee3(){
let x = 20;
var y = 40;
document.write("Depuis portee3() : <br>x = " + x + "<br>y = " + y+ "<br>");
} 70
Portée des variables
71
“
LES OBJETS
”
Types primitif / type objet
Type primitif: Une variable de type primitif ne stocke qu’une simple valeur (chaîne de
caractères, nombre, booléen…)
Type objet: Un objet permet de définir des entités plus complexes en regroupant un ensemble
de valeurs pouvant être soit des valeurs primitives soit d’autres objets.
Les objets ne sont pas qu'un regroupement de valeurs, il possèdent des fonctions, qu’on
appelle méthodes (les objets peuvent aussi avoir un comportement).
Deux types d’objets
Objets natifs
types prédéfinis : Array, String, Date …
objets liés à l'environnement d'exécution: window , document …
Objets personnalisés
types définis par l'application
73
L’objet String
74
L’objet String
let s = "hello world";
CharAt () : Cette méthode renvoie le caractère situé à la position x fournie en
paramètre. Le numéro de la position est compris entre 0 et la longueur de la chaîne –1.
alert(s.charAt(1)); // "e"
Substring (start, end).: Cette méthode renvoie la sous-chaîne comprise entre les
positions x et y indiquées en paramètres, dans la chaîne principale
alert(s.substring(3,7)); // "lo w"
Slice () : Equivalent à substring()
alert(s.slice(3)); // "lo world"
alert(s.slice(-3)); // "rld "
75
L’objet String
let x = Math.PI;
let y = Math.sqrt(16);
77
L’objet Array
Voir: https://www.w3schools.com/js/js_array_methods.asp
79
L’objet Date
Voir: https://www.w3schools.com/jsref/jsref_obj_date.asp
80
“
LES OBJETS PERSONNALISÉS
”
Objets et propriétés
82
Objets et propriétés
personne.prez = function(){
alert('Bonjour, je suis ' + this.nom+
', j\'ai ' + this.age + ' ans ‘ );
}
personne.prez();
83
Questions?