JavaScript pour les nuls
3e édition
Chris Minnick et Eva Holland
First Interactive
Introduction
À propos de ce livre
1
Quelques suppositions stupides
3
Icônes utilisées dans ce livre
3
Où trouver les exemples du livre ?
4
Et maintenant ?
5
Partie l Débuter avec JavaScript
Chapitre 1 JavaScript, le langage le plus incompris du monde
9
JavaScript, c'est quoi ?
10
La comète Eich11
Appelez-moi Mocha11
Nous voulons plus d'effets !11
JavaScript, un tangage qui se développe12
Un langage de script dynamique12
Il fait quoi, JavaScript, en réalité ?15
Pourquoi JavaScript ?16
Où est JavaScript ? JavaScript est partout !17
JavaScript est puissant !21
JavaScript est demandé !21
Chapitre 2 Écrire votre premier programme JavaScript
23
Configurer votre environnement de développement
24
Télécharger et installer Google Chrome24
Télécharger et installer un éditeur de code26
Lire le code JavaScript
34
Exécuter JavaScript dans la fenêtre du navigateur
35
Utiliser JavaScript dans un attribut d'événement HTML36
Utiliser JavaScript dans un élément de script37
Inclure des fichiers JavaScript externes39
Utiliser la console de développement JavaScript
41
Commenter votre code
43
Commentaire sur une seule ligne44
Commentaires multilignes44
Utiliser des commentaires pour éviter l'exécution de code45
Chapitre 3 Travailler avec des variables
47
Comprendre les variables
47
Déclarer des variables
50
Comprendre la portée des variables
50
Nommer les variables
51
Créer des constantes avec le mot-clé const
55
Travailler avec les types de données
55
Les données numériques56
Les données de type chaîne59
Type de donnée booléen61
Le type de donnée NaN63
Le type de donnée indéfini63
Chapitre 4 Comprendre les tableaux
65
Faire une liste
65
Notions de base sur les tableaux
67
L'indice de base d'un tableau, c'est 068
Les tableaux peuvent contenir n'importe quel type de donnée69
Créer des tableaux
69
Utiliser le mot-clé new69
La méthode littérale70
Remplir les tableaux
70
Comprendre les tableaux multidimensionnels
71
Accéder aux éléments d'un tableau
72
Chapitre 5 Travailler avec les opérateurs, les expressions et les instructions
79
Exprimez-vous
80
Bonjour, opérateur
80
Préséance des opérateurs80
Utiliser des parenthèses83
Types d'opérateurs
84
Opérateurs d'affectation84
Opérateurs de comparaison85
Opérateurs arithmétiques86
Opérateur chaîne87
Opérateurs au niveau du bit88
Opérateurs logiques90
Combiner les opérateurs93
Chapitre 6 Rester dans le flux avec les boucles et les branchements
95
Soyez branché !
96
If...else96
Switch98
Boucler les boudes
100
La boucle for100
Parcourir un tableau101
La boucle for...in102
Boucles while105
Boucles do...while106
Break et continue106
Partie 2 Organiser votre code JavaScript
Chapitre 7 Devenir fonctionnel
111
Comprendre la fonction des fonctions
111
Utiliser la terminologue des fonctions
113
Définir une fonction113
Définir l'en-tête de la fonction114
Le corps de la fonction114
Appeler une fonction114
Définir des paramètres et passer des arguments114
Retourner une valeur115
Les fonctions, c'est tout bénéfice !
115
Écrire des fonctions
118
Retourner des valeurs
119
Passer et utiliser des arguments
120
Passer des arguments par valeur121
Passer des arguments par référence122
Appeler une fonction sans passer tous les arguments123
Définir la valeur par défaut des paramètres123
Appeler une fonction avec plus d'arguments que de paramètres124
Plonger dans la liste des arguments124
Portée des fonctions
125
Le cas de la fonction anonyme
125
Différences entre fonctions anonymes et fonctions nommées126
Fonctions anonymes auto-exécutables126
On recommence depuis le début (la récursivité)
127
Des fonctions dans des fonctions
128
Chapitre 8 Créer et utiliser des objets
131
L'obscur objet de mon désir
131
Créer des objets
133
Définir des objets : la méthode littérale133
Définir des objets : la méthode par constructeur134
Retrouver et définir les propriétés des objets
135
La notation point135
La notation avec crochets droits136
Supprimer des propriétés
137
Travailler avec les méthodes
138
Utiliser this139
Une méthode orientée objet pour devenir riche : l'héritage
140
Objets et constructeurs142
Modifier un type d'objet144
Créer des objets avec Object.create144
Partie 3 JavaScript sur le Web
Chapitre 9 Contrôler le navigateur avec l'objet Window
149
Comprendre l'environnement du navigateur
150
L'interface utilisateur150
Le « loader »151
Analyse du code HTML152
Analyse des styles CSS152
Analyse du code JavaScript153
Mise en page et rendu153
À propos du BOM153
L'objet Navigator154
L'objet Window156
Utiliser les méthodes de l'objet Window161
Chapitre 10 Manipuler des documents avec le DOM
163
Comprendre le DOM
163
Relations entre les noeuds
165
Utiliser les propriétés et les méthodes de l'objet Document
170
Utiliser les propriétés et les méthodes de l'objet Element
172
Travailler avec le contenu des éléments
175
innerHTML176
Définir des attributs177
Trouver des éléments par ID, nom de balise ou classe
177
getElementBylD177
getElementByTagName178
getElementByClassName179
Utiliser les propriétés de l'objet Attribut
180
Créer et ajouter des éléments181
Supprimer des éléments182
Chapitre 11 Utiliser des événements dans JavaScript
185
Connaître vos événements
185
Gérer les événements
187
Utiliser des gestionnaires d'événements inline188
Gérer les événements en utilisant les propriétés des éléments189
Ajouter un gestionnaire d'événement en utilisant addEventListener190
Stopper la propagation196
Chapitre 12 Entrer et sortir
199
Comprendre les formulaires HTML
199
L'élément form200
L'élément label202
L'élément input202
L'élément select204
L'élément textarea205
L'élément button205
Travailler avec l'objet Form
205
Utiliser les propriétés de l'objet Form206
Utiliser les méthodes de l'objet Form207
Accéder aux éléments du formulaire209
Obtenir et définir les valeurs des éléments d'un formulaire210
Valider la saisie de l'utilisateur212
Chapitre 13 Travailler avec CSS et les graphismes
215
Utiliser l'objet Style
215
Retrouver le style courant d'un élément217
Définir les propriétés de style220
Animer des éléments avec l'objet Style
220
Travailler avec les images
226
Utiliser l'objet Image226
Créer des boutons avec effet de survol (rollover)225
Des images que la souris fait grandir226
Créer un diaporama227
Utiliser les propriétés d'animation de l'objet Style
229
Partie 4 Au-delà des bases
Chapitre h Effectuer des recherches avec des expressions régulières
235
Faire des recherches avec les expressions régulières
236
Écrire des expressions régulières
238
Utiliser l'objet RegExp238
Définir des expressions régulières littérales260
Tester des expressions régulières261
Caractères spéciaux dans les expressions régulières262
Utiliser des modificateurs
263
Coder avec des expressions régulières
266
Chapitre 15 Comprendre les fonctions de rappel et les fermetures
249
C'est quoi, les fonctions de rappel ?
250
Passer des fonctions comme argument250
Écrire des fonctions avec des rappels250
Utiliser des fonctions de rappel nommées252
Comprendre les fermetures
255
Utiliser les fermetures
258
Chapitre 16 Toujours plus loin avec Ajax et JSON
261
Travailler en coulisses avec Ajax
261
Exemples Ajax262
Voir Ajax en action264
Utiliser l'objet XMLHttpRequest267
Travailler avec la contrainte same-origin policy270
Utiliser CORS pour les requêtes Ajax272
Mettre des objets en mouvement avec JSON
273
Partie 5 JavaScript et HTML5
Chapitre 17 HTML5 et ses API
279
Comprendre comment les API fonctionnent
279
Vérifier le support par le navigateur des API HTML5281
Découvrir les API de HTML5281
Utiliser la géolocalisation
283
Que fait la géolocalisation ?283
Comment la géolocalisation travaille-t-elle ?286
Comment utiliser la géolocalisation ?285
Combiner la géolocalisation avec Google Maps287
Accéder à l'audio et à la vidéo
291
Chapitre 18 jQuery
297
Écrire plus, tout en en faisant moins
297
Débuter avec jQuery
298
L'objet jQuery
299
Est-ce que votre document est prêt ?
300
Utiliser les sélecteurs jQuery
301
Changer des choses avec jQuery
302
Lire et modifier des attributs302
Modifier des styles CSS303
Manipuler des éléments du DOM306
Événements
305
Utiliser on() pour attacher des événements305
Détacher des événements avec off()307
Enregistrer des événements qui n'existent pas encore307
Autres méthodes pour les événements307
Effets
308
Effets de transition309
Effets de glissement309
Définir les arguments pour les méthodes d'animation309
Appliquer des effets personnalisés avec animate()310
Jouer avec les animations jQuery310
Ajax
312
Utiliser la méthode ajax()312
Raccourcis pour les méthodes Ajax314
Partie 6 Les Dix Commandements
Chapitre 19 Dix bibliothèques et frameworks pour aller plus loin avec JavaScript
317
Angular JS
318
Backbone.js
319
Ember.js
321
Famo.us
322
Knockout
323
QUnit
324
Underscore.js
324
Modernizr
325
Handlebars.js
326
jQuery
327
Chapitre 20 Dix erreurs JavaScript courantes et comment les éviter
329
Confusion dans l'égalité
330
Éviter une mauvaise utilisation de l'affectation330
L'égalité et ses écueils331
Les crochets mal accrochés
331
Confusion entre guillemets et apostrophes
333
Les parenthèses manquantes
333
Le point-virgule manquant
334
Des erreurs capitales
334
Référencer le code avant son chargement
334
De mauvais noms de variables
336
Erreurs de portée
337
Paramètres manquants dans les appels de fonctions
337
Oublier que JavaScript compte à partir de zéro
337
Chapitre 21 Dix outils en ligne pour vous aider à écrire du meilleur code JavaScript
339
JSLint
339
JSFiddle.net
340
JSBin
342
Javascriptcompressor.com
342
JSBeautifier.org
343
JSONFormatter
345
JavaScript RegEx Generator
345
Jshint.com
346
Mozilla Developer Network
346
Douglas Crockford
347
Index
349