JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 4 · Application directe du cours
Un compteur réglable
Portée, fermetures et this · niveau 2
Énoncé
Écrire creerCompteur(depart = 0, pas = 1), qui renvoie un objet de trois méthodes : suivant() ajoute le pas et renvoie la nouvelle valeur, reinitialiser() revient à la valeur de départ, valeur() renvoie la valeur courante. Créer un compteur de numéros de commande qui part de 1000 et avance de 10, et vérifier que deux compteurs sont indépendants.
Corrigé
function creerCompteur(depart = 0, pas = 1) {
let valeur = depart;
return {
suivant() {
valeur += pas;
return valeur;
},
reinitialiser() {
valeur = depart;
},
valeur() {
return valeur;
},
};
}
const numeros = creerCompteur(1000, 10);
console.log(numeros.suivant(), numeros.suivant());
numeros.reinitialiser();
console.log(numeros.valeur(), numeros.suivant());
const simple = creerCompteur();
console.log(simple.suivant(), numeros.valeur());
1010 1020
1000 1010
1 1010
La variable valeur est partagée par les trois méthodes de l'objet renvoyé, et propre à chaque appel de creerCompteur : le compteur simple n'a pas touché à numeros. Les paramètres depart et pas sont eux aussi mémorisés par la fermeture.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.