JavaScript : interactivité des pages⚓︎
Fiche méthode & révision — Première NSI · Chapitre 11
Fiche compacte pour refaire seul les exercices : scripts, variables, conditions, fonctions, manipulation du DOM et événements.
1. Objectifs⚓︎
À la fin du chapitre, vous devez savoir :
- connaître où placer un script et les instructions de base ;
- lire du code JS et prévoir ses affichages / effets ;
- expliquer le rôle du DOM et des événements ;
- compléter et programmer : variables, conditions, fonctions, sélection et modification d'éléments, écouteurs d'événements.
2. Définitions essentielles⚓︎
| Terme | Définition |
|---|---|
| JavaScript | Langage rendant les pages interactives. |
| Côté client | Exécuté dans le navigateur. |
| Script | Programme JS (<script>). |
| Console | Zone d'affichage / débogage du navigateur. |
| Variable | Donnée nommée modifiable (let). |
| Constante | Donnée non modifiable (const). |
| Type | Nature d'une valeur (nombre, chaîne, booléen). |
| Concaténation | Coller des chaînes avec +. |
| Conversion | Changer de type (parseInt…). |
| Condition | Test (if). |
| Fonction | Bloc réutilisable. |
| Paramètre | Entrée d'une fonction. |
| Valeur retournée | Résultat (return). |
| DOM | Représentation de la page manipulable par JS. |
| Élément | Nœud du DOM (une balise). |
| Événement | Action de l'utilisateur (clic, saisie…). |
| Écouteur | Fonction déclenchée par un événement. |
3. Fiches méthodes⚓︎
Intégrer JavaScript dans HTML
<script>
console.log("Bonjour");
</script>
Relier un fichier .js externe
<script src="script.js"></script>
<body> (après les éléments).
Afficher avec alert() ou console.log()
alert("Message"); // fenêtre
console.log("Débug"); // console
Demander une saisie avec prompt()
let nom = prompt("Ton nom ?");
Demander une confirmation avec confirm()
let ok = confirm("Confirmer ?"); // true / false
Déclarer avec var, let ou const
let age = 15; // variable
const PI = 3.14; // constante
Chaîne avec caractères d'échappement
let s = "Il dit \"bonjour\"\n"; // \" guillemet, \n retour ligne
Calcul ou concaténation
let somme = a + b; // calcul
let txt = "Bonjour " + nom; // concaténation
Convertir avec parseInt() ou parseFloat()
let n = parseInt(prompt("Nombre ?")); // entier
let x = parseFloat("3.14"); // décimal
"3" + 2 donne "32").
Condition if / else if / else
if (note >= 10) {
resultat = "Admis";
} else {
resultat = "Recalé";
}
Opérateurs ===, !==, &&, ||, !
===(égal, type compris),!==(différent) ;&&(et),||(ou),!(non).
Créer et appeler une fonction
function doubler(x) {
return 2 * x;
}
let r = doubler(5); // 10
Choisir les paramètres
Les entrées nécessaires au calcul (ex. function imc(poids, taille)).
Retourner une valeur avec return
return resultat; renvoie la valeur (réutilisable).
Sélectionner avec getElementById()
let titre = document.getElementById("titre");
Sélectionner plusieurs éléments
let items = document.getElementsByClassName("item");
Récupérer la valeur d'un champ avec .value
let saisie = document.getElementById("champ").value;
Modifier textContent ou innerHTML
el.textContent = "Texte brut";
el.innerHTML = "<b>Texte en gras</b>";
Modifier un style avec .style
el.style.color = "red";
el.style.backgroundColor = "yellow";
Ajouter ou retirer une classe
el.classList.add("actif");
el.classList.remove("actif");
Ajouter un événement avec addEventListener()
bouton.addEventListener("click", function() {
alert("Cliqué !");
});
Utiliser this ou l'objet event
champ.addEventListener("input", function(event) {
console.log(event.target.value); // ou this.value
});
Créer, ajouter et supprimer un élément
let li = document.createElement("li");
li.textContent = "Tâche";
liste.appendChild(li); // ajouter
liste.removeChild(li); // supprimer
4. Tableaux comparatifs⚓︎
HTML / CSS / JavaScript
| Langage | Rôle |
|---|---|
| HTML | structure / contenu |
| CSS | mise en forme |
| JavaScript | comportement / interactivité |
alert / confirm / prompt
| Fonction | Renvoie |
|---|---|
alert |
rien (message) |
confirm |
true / false |
prompt |
la saisie (chaîne) |
var / let / const
| Mot-clé | Usage |
|---|---|
var |
ancien (à éviter) |
let |
variable modifiable |
const |
constante (non modifiable) |
== / === et != / !==
| Opérateur | Comparaison |
|---|---|
== / != |
avec conversion de type |
=== / !== |
sans conversion (type compris) |
innerHTML / textContent
| Propriété | Effet |
|---|---|
innerHTML |
interprète le HTML |
textContent |
texte brut |
Style direct / classe CSS
| Méthode | Quand |
|---|---|
.style.x |
modification ponctuelle |
classList.add/remove |
style réutilisable (CSS) |
Événements principaux
click · input · change · mouseover · submit · keydown.
5. Lecture et compréhension de code⚓︎
Méthode
- suivre les variables (valeurs successives) ;
- prévoir les affichages (
alert,console.log) ; - déterminer le bloc exécuté (condition vraie) ;
- retrouver une valeur retournée (
return) ; - identifier l'élément sélectionné (
getElementById) ; - suivre un événement (déclencheur → écouteur → effet) ;
- compléter un code à trous ;
- expliquer les modifications du DOM.
6. Tableaux de suivi⚓︎
Modèles de tableaux
Exécution | Instruction | Variable | Valeur | Affichage | |---|---|---|---|
Saisie & condition | Saisie | Conversion | Condition | Bloc exécuté | |---|---|---|---|
Événement & DOM | Événement | Élément cible | Propriété modifiée | Résultat visible | |---|---|---|---|
7. Erreurs fréquentes⚓︎
| Erreur | Cause / correction |
|---|---|
| Script non relié | vérifier <script src="…"> |
| Script avant l'élément | placer le script en fin de <body> |
| Oubli de guillemets | entourer les chaînes |
| Texte / nombre confondus | convertir avec parseInt / parseFloat |
| Oubli de conversion | "3" + 2 = "32" au lieu de 5 |
= / == / === confondus |
= affecte ; === compare (type compris) |
| Opérateur logique incorrect | && (et), || (ou), ! (non) |
| Accolade manquante | fermer { … } |
| Fonction non appelée | f() avec parenthèses |
Oubli de return |
renvoie undefined |
Mauvais id |
vérifier l'id dans le HTML |
id / classe confondus |
getElementById vs getElementsByClassName |
Oubli de .value |
récupérer la valeur du champ |
| Mauvais nom d'événement | "click", "input"… |
addEventListener mal appelé |
(\"click\", fonction) sans () sur la fonction |
| Élément inexistant modifié | vérifier la sélection |
| Oubli d'ajouter l'élément créé | appendChild |
8. Questions-réponses corrigées⚓︎
Vocabulaire⚓︎
1. (N1) Où s'exécute JavaScript ?
Côté client, dans le navigateur.
2. (N1) Que renvoie prompt() ?
La saisie de l'utilisateur (une chaîne).
3. (N2) Différence entre let et const ?
let est modifiable ; const est une constante.
4. (N2) Qu'est-ce que le DOM ?
La représentation de la page que JavaScript peut manipuler.
5. (N1) Qu'est-ce qu'un écouteur d'événement ?
Une fonction déclenchée par une action (clic, saisie…).
Compréhension⚓︎
6. (N1) Que vaut \"3\" + 2 en JavaScript ?
\"32\" (concaténation, car \"3\" est une chaîne).
7. (N2) Pourquoi utiliser parseInt(prompt(...)) ?
Car prompt renvoie une chaîne : il faut la convertir en nombre.
8. (N2) Différence entre == et === ?
== compare avec conversion ; === compare sans (type compris).
9. (N3) Différence entre textContent et innerHTML ?
textContent = texte brut ; innerHTML interprète le HTML.
10. (N2) Pourquoi placer le script en fin de <body> ?
Pour que les éléments existent déjà quand le script s'exécute.
Lecture de code⚓︎
11. (N1) Que fait console.log(2 + 3) ?
Affiche 5 dans la console.
12. (N2) Que vaut doubler(4) si doubler(x){return 2*x;} ?
8.
13. (N2) Que sélectionne document.getElementById(\"titre\") ?
L'élément ayant id=\"titre\".
14. (N3) Que fait el.style.color = \"red\" ?
Met le texte de el en rouge.
15. (N2) Que récupère champ.value ?
La valeur saisie dans le champ.
Conditions et fonctions⚓︎
16. (N1) Écrire une condition « si x > 0 ».
if (x > 0) { … }.
17. (N2) Écrire l'opérateur « et » logique.
&&.
18. (N2) Créer une fonction carre(x).
function carre(x) { return x * x; }.
19. (N3) Que renvoie une fonction sans return ?
undefined.
20. (N3) Appeler carre(5) : comment récupérer le résultat ?
let r = carre(5); (vaut 25).
DOM et événements⚓︎
21. (N1) Sélectionner un élément id=\"p1\".
document.getElementById(\"p1\").
22. (N2) Modifier le texte d'un élément el.
el.textContent = \"…\";.
23. (N2) Ajouter un clic sur un bouton btn.
btn.addEventListener(\"click\", fonction);.
24. (N3) Récupérer la valeur tapée lors d'un événement.
event.target.value (ou this.value).
25. (N3) Créer un <li> et l'ajouter à liste.
let li = document.createElement(\"li\");
liste.appendChild(li);
Correction d'erreurs⚓︎
26. (N1) let nom = prompt(Ton nom) : erreur ?
Guillemets manquants : prompt(\"Ton nom\").
27. (N2) if (x = 5) : erreur ?
= affecte ; utiliser === : if (x === 5).
28. (N2) Saisie additionnée sans parseInt : erreur ?
Concaténation de chaînes : convertir avec parseInt.
29. (N3) getElementById(\".titre\") : erreur ?
Pas de . : getElementById(\"titre\").
30. (N3) Élément créé mais absent de la page : erreur ?
Oubli de appendChild.
Programmation⚓︎
31. (N1) Écrire un console.log affichant « Salut ».
console.log(\"Salut\");.
32. (N2) Convertir une saisie en nombre entier.
let n = parseInt(prompt(\"Nombre ?\"));.
33. (N2) Modifier la couleur d'un paragraphe p1 en bleu.
document.getElementById(\"p1\").style.color = \"blue\";.
34. (N3) Calculatrice : afficher la somme de deux saisies.
let a = parseInt(prompt(\"a ?\"));
let b = parseInt(prompt(\"b ?\"));
alert(a + b);
35. (N4) Devinette : comparer une saisie à un nombre secret.
let secret = 7;
let essai = parseInt(prompt(\"Devine :\"));
if (essai === secret) {
alert(\"Gagné !\");
} else {
alert(\"Perdu\");
}
9. Exercices flash corrigés⚓︎
Écrire un console.log de 10 + 5
console.log(10 + 5); → 15.
Convertir une saisie en décimal
parseFloat(prompt(\"Nombre ?\")).
Compléter une condition « note ≥ 10 »
if (note >= 10) { … }.
Choisir == ou === pour comparer types compris
===.
Écrire une fonction triple(x)
function triple(x) { return 3 * x; }.
Sélectionner le paragraphe id=\"intro\"
document.getElementById(\"intro\").
Modifier son texte
…getElementById(\"intro\").textContent = \"…\";.
Modifier sa couleur en vert
…style.color = \"green\";.
Ajouter un clic affichant « Coucou »
btn.addEventListener(\"click\", () => alert(\"Coucou\"));.
Créer un élément <li> (liste de tâches)
let li = document.createElement(\"li\"); puis liste.appendChild(li);.
Prévoir le résultat : el.innerHTML = \"<b>Hi</b>\"
Affiche Hi en gras (HTML interprété).
À retenir absolument⚓︎
Squelette JavaScript
<script src="script.js"></script> <!-- en fin de body -->
let x = parseInt(prompt("Nombre ?")); // saisie + conversion
if (x > 0) { console.log("positif"); } // condition
function f(a) { return a * 2; } // fonction
DOM & événements
- sélection :
document.getElementById("id"); - valeur d'un champ :
.value; - modifier le contenu :
textContent(brut) /innerHTML(HTML) ; - style :
.style.color = "…"ouclassList.add/remove; - événement :
el.addEventListener("click", fonction); - créer :
createElement+appendChild.
Réflexes
- relier le fichier externe et placer le script après les éléments ;
- convertir les saisies (
parseInt/parseFloat) ; - comparer avec
===; ne pas oublierreturnniappendChild.