Académique Documents
Professionnel Documents
Culture Documents
JavaScript
2019-2020
http://coursera.com
Serveur
http://coursera.com
Le navigateur envoie une demande
HTTP disant "Veuillez m‘obtenir le
fichier index.html à "
(Routage,
http://coursera.com" etc…)
Serveur
http://www.coursera.com
Décrit le Décrit
contenu et la l'apparence et
structure de la
page
le style de la
page
Une page web…
Qui ne fait rien
Ce que nous avons appris
jusqu'à présent
Nous avons appris à créer des pages Web qui:
- Suivent l’apparence que nous désirons
- Peuvent avoir des liens vers d'autres pages Web
- S’affichent différemment sur différentes tailles d'écran
Mais nous ne savons pas comment créer des pages Web
qui font quoi que ce soit:
- Afficher et masquer des éléments lorsque l'utilisateur
interagit avec la page
- etc.
Ce que nous avons appris
jusqu'à présent
Nous avons appris à créer des pages Web qui:
- Suivent l’apparence que nous désirons
- Peuvent avoir des liens vers d'autres pages Web
- S’affichent différemment sur différentes tailles d'écran
Mais nous ne savons pas comment créer des pages Web
qui font quoi que ce soit:
- Afficher et masquer des éléments lorsque l'utilisateur
interagit avec la page
- etc.
Utiliser JavaScript!
JavaScript
JavaScript
<!DOCTYPE html>
<html>
<head>
<title>dev web</title>
<link rel="stylesheet" href="style.css" />
<script src="filename.js"></script>
</head>
<body>
... Contenu de la page...
</body>
</html>
console.log
script.js
console.log('Hello, world!');
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Premier exemple JS</title>
<script src="script.js"></script>
</head>
<body>
</body>
</html>
script.js
console.log(‘Bonjour,Isamm!');
Rien ne se passe!
Faites un clic droit et choisissez "Inspecter"
Cliquer sur "Console"
L'onglet "Console" est un shell de langage interactif, vous
pouvez donc taper des expressions JavaScript, etc. Ceci
permet de tester le langage.
Fonctionnalités du
langage JavaScript
Identique aux langages de
style Java /C++ /C
for-loops:
for (let i = 0; i < 5; i++) { … }
while-loops:
while (pasFini) { … }
commentaire:
// commentaire or /* commentaire */
conditions :
if (...) {
...
} else {
...
}
Fonctions
function nom() {
instruction;
instruction;
...
}
script.js
function hello() {
console.log('Hello!');
console.log('Welcome to JavaScript');
}
hello();
hello();
Console output
script.js
function hello() {
console.log('Hello!');
console.log('Welcome to JavaScript');
}
hello();
hello();
Le navigateur "exécute"
d'abord la définition de la
fonction, mais cela crée
simplement la fonction hello
(et n'exécute pas la fonction
hello), semblable à une Console
déclaration de variable.
script.js
hello();
hello();
function hello() {
console.log('Hello!');
console.log('Welcome to JavaScript');
}
hello();
hello();
function hello() {
console.log('Hello!');
console.log('Welcome to JavaScript');
}
R: Oui, pour cette syntaxe particulière.
Cela fonctionne parce que les
déclarations de fonctions sont
"hissées".
comme si la définition était déplacée
vers le haut de la portée dans laquelle
Sortie console
elle est définie
script.js
hello();
hello();
function hello() {
console.log('Hello!');
console.log('Welcome to JavaScript');
}
Mises en garde:
- Il existe d'autres façons de définir
des fonctions qui ne sont pas
hissées; nous verrons cela tard
Console output
Variables: var, let, const
Déclarez une variable dans JS avec l'un des trois mots clés:
// portée (scope) fonction
var x = 15;
// portée bloc
let fruit = 'banana';
// Constante de portée bloc; ne peut pas
être réaffecté
const isHungry = true;
var x = 10;
if (x > 0) {
var y = 10;
}
console.log('Value of y is ' + y);
let x = 10;
if (x > 0) {
const y = 10;
}
console.log(y); // error!
const y = 10;
y = 0; // erreur!
y++; // erreur!
const list = [1, 2, 3];
list.push(4); // OK
let y = 10;
y = 0; // OK
y++; // OK
let list = [1, 2, 3];
list.push(4); // OK
- Tous les nombres sont des nombres réels à virgule flottante. Aucun type
entier.
- Les opérateurs sont comme Java ou C ++.
- Priorité comme Java ou C ++.
- Quelques valeurs spéciales: NaN (pas un nombre), + Infinity, -Infinity
- Il y a une classe de mathématiques: Math.floor, Math.ceil, etc.
Chaine de caractères
if (username) {
// username est défini
}
Egalité
Les tableaux sont des types d'objets utilisés pour créer des
listes de données.
- Index basé 0
- Mutable
- Peut vérifier la taille via la propriété length (pas la
fonction)