cours-2020-2021

Documents de cours 2020-2021 - FX Jollois

View the Project on GitHub fxjollois/cours-2020-2021

Programmation web dynamique

Comme vu précédemment, les langages HTML, CSS et SVG sont statiques. Aucune programmation n’est réalisable d’une part, et aucune interaction réelle avec l’utlisateur n’est possible d’autres part (sauf comportement lors de déplacement de la souris, mais uniquement cosmétiques).

Introduction à JS

Exécution et intégration

Code exécutable directement dans la console JS présente dans tous les navigateurs

Deux possibilités d’intégration du script :

Typage des variables

Typage faible :

const pi = 3.14;    // pi sera en lecture seule par la suite
var a = 5, b = "b"; // globale ou locale en fonction du placement de var
d = a;              // var implicite ici, d sera globale
a = b;              // a devient une chaîne
var z;              // utilisation de var possible à tout moment
let temp;           // durée de vie = bloc en cours

Type des variables

var tab = [1, "deux", true]; // tab[0] vaut 1
var obj = {
    n: "blablabla",     // on y accède avec obj.n
    p1: 12,             // idem pour les autres
    p2: 3.214325,
    t: [12, 23, 98]
};

Format JSON

Exemple

Syntaxe

Est présenté ci-dessous l’ensemble des éléments classiques de syntaxe.

Opérations

Mathématiques

Logiques

Traitement conditionnel : if

if (condition) {
    ligne(s) de code;
}
if (condition) {
    ligne(s) de code;
} else {
    ligne(s) de code;
}
if (condition) {
    ligne(s) de code;
} else if {
    ligne(s) de code;
} else {
    ligne(s) de code;
}

Traitement conditionnel : switch

switch (expression) {
    case valeurA:
        ligne(s) de code;
        break;              // optionnel
    case valeurB:
        ligne(s) de code;
        break;              // optionnel
    case valeurC:
        ligne(s) de code;
        break;              // optionnel
    ...
    default:                // comportement si pas de correspondance
        ligne(s) de code;
}

Traitement itératif : for

Boucle classique

for (initialisation; condition; incrémentation) {
    ligne(s) de code;
}

Boucle sur les éléments d’un objet

for (variable in objet) {
    ligne(s) de code;
}

Boucle sur les éléments d’un tableau

for (variable of tableau) {
    ligne(s) de code;
}

Traitement itératif : while

do ... while

do {
    ligne(s) de code;
} while (condition);

while

while (condition) {
    ligne(s) de code;
}

Fonctions

function nomFonction (paramètre(s)) {
    ligne(s) de code;
    return valeur;          // optionnel
}
// appel classique
var nomFonction = function (paramètre(s)) {
    ligne(s) de code;
    return valeur;          // optionnel
};
// idem pour l'appel

L’objet arguments contient les paramètres utilisés lors de l’appel de la fonction

La plus utile, console.log(chaîne), permet d’afficher du contenu dans la console du navigateur

Manipulation du DOM

Deux objets présents :

Quelques fonctions utiles de document ou des éléments du DOM :

Exemple

Dans cet exemple, on réalise les étapes suivantes :

Résultat

Code

<div id="exjs">
</div>
<script>
	var exjs = document.getElementById("exjs");
	exjs.innerHTML = "Remplissage d'un div en rouge";
	exjs.style.color = "red";
</script>