Tutoriel JavaScript principal
Bases
Introduction
Exécuter JavaScript
Premier programme en JavaScript
Analyse du code du programme
Exemples suivants
Fichiers de scripts
Plusieurs fichiers
Remarque
Mise en cache des fichiers
Mode strict
Commentaires
Variables
Utilisation des variables
Déclaration de plusieurs variables
Changement des valeurs des variables
Plusieurs let pour une variable
Opérations mathématiques avec des nombres
Opérations mathématiques avec des variables
Priorité des opérations mathématiques
Priorité égale
Parenthèses de regroupement
Fractions
Nombres négatifs
Plus devant les variables
Reste de la division
Puissance
Priorité de l'exponentiation
Chaînes de caractères
Concaténation de chaînes
Longueur d'une chaîne
Littéraux de modèle
Chaînes multilignes
Valeurs spéciales
Valeur undefined
Valeur null
Valeurs true et false
Valeur NaN
Infinity et -Infinity
Console
Type de données dans la console
Erreurs dans la console
Constantes
Conversion automatique des types
Conversion en nombre
Conversion courte en nombre
Conversion de nombres incorrects
Extraction de nombres
Conversion en chaîne
Application de la conversion en chaîne
Conversion de type logique
Conversion en type logique
Caractères d'une chaîne
Immuabilité des chaînes
Dernier caractère d'une chaîne
Chaînes de chiffres
Accès aux chiffres d'un nombre
Opérations pour modifier une variable
Opérations raccourcies en JavaScript
Incrémentation
Type préfixe et postfixe
Calculs imprécis
Fonction prompt
Problème de types avec prompt
Sortie dans le document
Pratique sur la recherche d'erreurs
Pratique sur les opérations
Pratique sur les formules
Tableaux
Introduction aux tableaux
Obtention des éléments
Longueur du tableau
Modification des éléments
Réécriture des éléments du tableau
Incrémentation des éléments
Ajout d'éléments par clés
Tableaux épars
Ajout d'éléments via push
Clés à partir de variables
Opérateur delete
Pratique de recherche d'erreurs
Objets
Introduction aux objets
Affichage complet d'un objet
Clés d'objets sous forme de chaînes
Propriétés des objets
Restrictions sur les clés d'objets
Modification des éléments
Ajout d'éléments
Désordre des objets
Tableau des clés d'un objet
Longueur d'un objet
Clés à partir de variables
Erreur d'accès à un élément
Erreur d'accès à une propriété
Propriétés calculées
Opérateur in
Opérateur delete
Typage des objets
Tableaux en tant qu'objets
Différencier les tableaux des objets
Objets et primitives
Passage d'objets par référence
Constantes
Approche de programmation par les constantes
Pratique de recherche d'erreurs
Conditions
Construction if-else
Opérateurs supérieur et inférieur
Vérification d'égalité
Vérification d'inégalité
Comparaison de variables
Égalité des chaînes
Égalité des chaînes et des nombres
Égalité en valeur et en type
Inégalité en valeur et en type
ET logique
OU logique
Priorité des opérateurs logiques
Regroupement de conditions
Inversion d'expressions logiques
Conditions avec valeurs booléennes
Comparaison de valeurs avec le type booléen
Forme abrégée de vérification du vrai
Forme abrégée de vérification du faux
Forme abrégée générale de vérification
Conditions complexes sous forme abrégée
Caractère facultatif de la construction else
Caractère facultatif des accolades
Problème du caractère facultatif des accolades
Construction else if
Constructions if-else imbriquées
Construction switch-case
Caractère facultatif du break
Opérateur ternaire
Opérations logiques
Fonction confirm
Portée
Nuances de la portée
Vérification des parties de l'heure
Vérification de la longueur des chaînes et des tableaux
Vérification des caractères d'une chaîne
Vérification des chiffres d'un nombre
Vérification du reste d'une division
Pratique de la recherche d'erreurs
Pratique
Boucles
Introduction
Boucle for-of
Boucle for-in
Boucle while
Boucle for
Boucle for pour les tableaux
Conditions dans les boucles
Accumulation de la somme des nombres
Accumulation de la somme des éléments
Formation de chaînes
Chiffres d'un nombre
Caractère facultatif des accolades
Problème du caractère facultatif des accolades
Instruction break
Instruction continue
Boucles imbriquées
Portée
Boucles imbriquées et portée
Remplissage de tableaux
Modification de tableaux
Remplissage d'objets
Modification d'objets
Travail avec des drapeaux
Conseils pour l'écriture du code
Conseils pour le débogage du code
Pratique sur la recherche d'erreurs
Pratique
Multidimensionnalité
Tableaux multidimensionnels
Tableau tridimensionnel
Tableaux arbitraires
Parcours de tableaux multidimensionnels
Parcours avec une boucle for classique
Remplissage de tableaux multidimensionnels
Problèmes lors du remplissage de tableaux multidimensionnels
Remplissage de tableaux multidimensionnels dans l'ordre
Objets multidimensionnels
Parcours d'objets multidimensionnels
Structures multidimensionnelles
Parcours de structures multidimensionnelles
Tableau d'objets
Clés à partir de variables
Ajout d'éléments dans les tableaux
Ajout d'éléments dans les objets
Méthodes standard
Puissances
Fonctions d'arrondi
Extrema
Aléatoire
Valeurs absolues
Casse des caractères
Découpage de chaînes
Recherche dans les chaînes
Remplacement dans les chaînes
Division de chaînes
Éléments aux extrémités
Parties de tableaux
Découpage de tableaux
Recherche dans les tableaux
Clés d'objets
Pratique de recherche d'erreurs
Fonctions personnalisées
Introduction
Paramètres de fonction
Plusieurs paramètres
Paramètres-variables
Paramètres optionnels
Instruction return
Appel séquentiel de fonctions
Point délicat de return
Boucle et return
Application de return dans les boucles
Astuce de travail avec return
Drapeaux dans les fonctions
Opérateurs logiques dans les fonctions
Conseils sur les fonctions
Pratique sur la recherche d'erreurs
Pratique sur les fonctions
Variables des fonctions
Variables globales
Variables locales
Coïncidence des noms de variables
Modification des variables globales
Variables globales et paramètres de fonctions
Coïncidence des noms avec les paramètres
Paramètres-objets
Types de fonctions
Code source de la fonction et résultat
Fonction comme variable
Enregistrement d'une fonction dans une autre variable
Assignation de fonctions à des variables
Correspondance du nom de la fonction et de la variable
Types de déclarations
Différence des déclarations de fonction
Point-virgule lors de la déclaration de fonctions
Nuances des expressions fonctionnelles
Fonction avec un nom, mais Expression Fonctionnelle
Expressions fonctionnelles nommées
Comment vérifier le type d'une fonction
Expression à gauche
Expression à droite
Tableau avec des fonctions
Objet avec des fonctions
Application d'un objet avec des fonctions
Fonctions imbriquées
Transmission de fonctions en tant que paramètres
Fonctions nommées
Paramètres des fonctions transmises
Transmission d'un nombre en paramètre
Application
Fonctions internes
Portée des fonctions imbriquées
Paramètres de la fonction externe
Paramètres des fonctions externe et interne
Paramètres homonymes
Fonction retournant une fonction
Niveau d'imbrication quelconque
Paramètres de la fonction retournée
Fonctions de rappel
Nuances des fonctions de rappel
Fonctions fléchées
Application des fonctions fléchées
synch. avec la traduction
Fermetures
Accès aux variables externes
Environnement lexical des fonctions
Application de l'environnement lexical
Introduction aux fermetures
Compteur avec fermetures
Nuance variable locale
Nuance variable globale
IIFE
Appel de fonction immédiat
Assignation de fonction à une variable
Application de l'appel de fonction immédiat
Parenthèses
Paramètres
Appels multiples
Pièges
Point-virgule de sécurité
Fermetures et IIFE
Récursion
Introduction
Exemple avec paramètre
Somme des éléments d'un tableau par récursion
Structures multidimensionnelles
Somme des éléments d'un tableau
Manipulations de structures
Méthodes itératives
Méthode map
Méthode forEach
Méthode filter
Méthode every
Méthode some
Méthode find
traduction, tâches
Méthode reduce
traduction, tâches
Opérateur spread
Introduction
Exemples plus avancés
Valeurs extrêmes de tableau
Fusion de tableaux
Division de chaînes
Division de nombres
Opérateur rest
Déstructuration
Déstructuration des tableaux
Tableau retourné par une fonction
Saut d'éléments du tableau
Valeurs excédentaires du tableau
Reste du tableau
Valeurs par défaut pour les tableaux
Fonctions par défaut pour les tableaux
Déclaration de variables pour les tableaux
Déstructuration des objets
Noms des variables pour les objets
Valeurs par défaut pour les objets
Variables et valeurs par défaut pour les objets
Déclaration de variables pour les objets
Paramètres de fonctions
Déstructuration des objets de paramètres de fonctions
Temps
Travailler avec l'objet Date
Formatage
Changer le format de date
Obtenir le jour de la semaine
Afficher la date en toutes lettres
Définir l'heure
Format timestamp
Différence entre les timestamps
Différence entre les objets de date
Ajustement automatique des dates
Trouver le dernier jour du mois
Déterminer une année bissextile
Vérifier l'exactitude
Obtenir le jour de l'année en cours
Jour du mois suivant ou précédent
Jour de l'année suivante ou précédente
Différence entre les moments
Moment de la journée
Début du jour
Fin du jour
Vérification cyclique des moments
Pratique sur l'obtention des moments
Comparaison de chaînes
Comparaison de date sans l'année
Date tombant dans un intervalle
Comparer les objets de date
Introduction au DOM
Introduction
Éléments DOM
Obtention des éléments DOM
Sélecteurs complexes d'éléments DOM
Liaison des gestionnaires
Gestionnaires nommés
Un gestionnaire pour plusieurs éléments
Gestionnaires d'un même événement
Gestionnaires d'événements différents
Texte de l'élément
Code HTML de l'élément
Attributs des balises comme propriétés
Travail avec les champs de texte
Focus des champs de texte
Attributs-exceptions
Chaînage de méthodes et propriétés
Avantages et inconvénients du chaînage
Objet this
Avantage de this
Obtention d'un groupe d'éléments
Gestionnaires nommés dans une boucle
Gestionnaires anonymes dans une boucle
Détachement des gestionnaires d'événements
Détachement des gestionnaires dans une boucle
Détachement des gestionnaires anonymes
Conseils pour l'écriture de code
Pratique sur la recherche d'erreurs
Pratique
Attributs
Méthode pour obtenir les attributs
Méthode pour définir les attributs
Méthode pour supprimer les attributs
Méthode pour vérifier les attributs
Attributs personnalisés
Noms d'attributs avec des traits d'union
Accès aux attributs via des méthodes
Tableau de classes CSS
Ajout de classes CSS
Suppression de classes CSS
Vérification des classes CSS
Activation/Désactivation des classes CSS
Stylisation
Stylisation via l'attribut style
Stylisation des propriétés avec un trait d'union
Exception lors de la stylisation des éléments
Stylisation via les classes CSS
Avantage de la stylisation avec les classes CSS
Application de la stylisation
Recherche
Recherche des descendants d'éléments
Recherche des parents d'éléments
Recherche de tous les parents d'éléments
Recherche des frères et sœurs d'éléments
Recherche d'un élément par id
Recherche d'un élément par nom de balise
Recherche d'un élément par nom de classe
Recherche à l'intérieur d'un élément
Nœuds
Formulaires
Travailler avec textarea
Désactiver les éléments
Travailler avec les cases à cocher
Alternance des attributs sans valeurs
Travailler avec les boutons radio
Événement change
Événement input
Méthodes focus et blur
Pratique de recherche d'erreurs
Listes déroulantes
Travailler avec les listes déroulantes
Attribut value dans les listes déroulantes
Modification de l'élément sélectionné dans la liste
Numéro de l'élément sélectionné dans la liste
Obtention des éléments de la liste déroulante
Éléments sous forme de tableau
Travailler avec les éléments de la liste déroulante
Sélection d'un élément de la liste
Obtention de l'élément sélectionné
Objet Event
Fondamentaux de l'objet Event
Coordonnées de l'événement
Type d'événement
Élément de l'événement
Obtention des touches enfoncées
Suivi des touches modificatrices
Annulation de l'action par défaut
Bulle des événements
Élément cible lors de la bulle
Arrêt de la bulle des événements
Plusieurs gestionnaires sur un élément
Arrêt immédiat de la bulle
Application de l'arrêt de la bulle des événements
Captation des événements
Gestionnaires sur les nouveaux éléments
Délégation d'événements
Délégation universelle d'événements
Contexte
Fondamentaux du contexte
Contexte d'une fonction non liée
Perte du contexte
Résolution du problème de contexte
Solution par variable
Solution par paramètre
Solution par fonction fléchée
Méthode call
Méthode call avec paramètres
Méthode apply
Méthode bind
Minuteries
Lancement d'une minuterie
Compteur sur minuterie
Arrêt d'une minuterie
Boutons de lancement
Lancement multiple
Boutons d'arrêt
Travail avec le DOM
Minuteries et perte de contexte
Pratique sur les minuteries et le DOM
Délai avant exécution
Minuterie avec délai
Manipulation des éléments
Création et insertion d'éléments
Attachement d'événements lors de l'insertion
Création d'éléments en boucle
Attachement de gestionnaires en boucle
Suppression d'éléments
Insertion sur le bord
Insertion avant
Insertion adjacente
Insertion adjacente de balises
Clonage d'éléments
Vérification des éléments
Pratique
Création d'éléments à partir d'un tableau
Pratique sur la création de listes ul
Création de tables
Remplissage séquentiel des tables
Création d'une table à partir d'un tableau
Création d'une table à partir d'un tableau d'objets
Ajout de lignes et de colonnes dans une table
Modification des cellules de la table
Suppression de nouveaux éléments
Lien de suppression d'élément
Création de liens de suppression
Édition d'un élément individuel
Masquer le texte lors de l'édition
Édition dans un ensemble d'éléments
Suppression et édition
Stylisation des éléments
Boutons pour masquer et afficher un élément
Plusieurs éléments avec des boutons d'affichage
Activation des éléments
Alternance des styles d'activation
Pratique sur la modification des éléments
Fonctions et DOM
Fonctions pour travailler avec un élément DOM
Fonctions pour travailler avec un groupe d'éléments
Passage d'un callback pour travailler avec le DOM
Passage d'un numéro d'ordre dans le callback
Passage d'un élément en paramètre de fonction
Passage d'un groupe d'éléments en paramètres
Fonction pour créer des tableaux HTML
Retour d'un tableau depuis une fonction
Fonction pour créer un tableau à partir d'un tableau