Nous étudions la programmation en JavaScript. Gornakov S.G.

Êtes-vous prêt à faire un pas en avant dans la programmation Web et à passer de la mise en page HTML et CSS à la création de pages dynamiques à part entière ? Alors il est temps de vous familiariser avec le langage de programmation le plus « en vogue » : JavaScript ! Avec ce livre, vous apprendrez tout sur JavaScript, des variables aux boucles. Vous comprendrez pourquoi différents navigateurs réagissent différemment au code et comment écrire du code universel pris en charge par tous les navigateurs. Vous verrez pourquoi vous n'aurez jamais à vous soucier de l'encombrement des pages ou des erreurs de transfert de données avec le code JavaScript. Ne vous inquiétez pas, même si vous n'avez jamais écrit une seule ligne de code auparavant - grâce au format unique de présentation du matériel, ce livre vous guidera facilement tout au long du parcours d'apprentissage : de l'écriture d'un script simple à la création de scripts complexes. des projets Web qui fonctionneront dans tous les navigateurs modernes. Une particularité de cette publication est la manière unique de présenter le matériel, qui distingue la série O'Reilly « Head First » des nombreux livres ennuyeux sur la programmation.

Sur notre site Web, vous pouvez télécharger gratuitement et sans inscription le livre « Learning JavaScript Programming » d'Elizabeth Freeman au format fb2, rtf, epub, pdf, txt, lire le livre en ligne ou acheter le livre dans la boutique en ligne.

À propos des autres livres de la série Head First « Le ton juste pour le programmeur expert libéré qui se cache en chacun de nous. Une excellente référence pour les stratégies de développement pratiques – permet à mon cerveau de travailler sans être distrait par un jargon académique ennuyeux et dépassé. » - Travis Kalanick, PDG d'Uber "Une clarté remarquable, un humour et une bonne dose d'intelligence inciteront même un non-programmeur à réfléchir positivement aux techniques de résolution de problèmes." - Cory Doctorow, co-éditeur de Boing Boing, écrivain de science-fiction « J'ai l'impression d'avoir lu une demi-tonne de livres à la fois. » - Ward Cunningham, inventeur du Wiki "C'est l'un des rares livres sur la programmation que je considère comme indispensable (et je compte dix livres dans cette catégorie, pas plus)." - David Gelernter, professeur d'informatique, Université de Yale « J'ai ri, j'ai pleuré, ce livre m'a touché. » - Daniel Steinberg, rédacteur en chef, java.net "Je ne peux pas penser à de meilleurs guides touristiques qu'Eric et Elizabeth." - Miko Matsumura, vice-président du marketing chez Hazelcast, ancien responsable Java chez Sun Microsystems « Je suis littéralement amoureux de ce livre. Je l'ai même embrassée devant ma femme. - Satish Kumar "Une approche visuelle et une présentation cohérente sont le meilleur moyen d'apprendre ce matériel..." - Danny Goodman, auteur de Dynamic HTML: The Definitive Guide "Contrairement à de nombreux livres de programmation obscurs remplis de jargon technique, la série Head First jQuery aide les débutants à créer leurs premières pages jQuery de manière simple et accessible." - Lindsay Skouras, avocate et programmeuse autodidacte À propos des autres livres de la série Head First « Erik et Elizabeth connaissent visiblement leur métier. Les technologies Internet sont de plus en plus sophistiquées et la création de pages Web créatives devient de plus en plus importante. L'architecture élégante occupe une place centrale dans chaque chapitre, chaque concept étant véhiculé avec des doses égales de pragmatisme et d'esprit. - Ken Goldstein, ancien directeur de Shop.com et auteur de This is Rage : A Novel of Silicon ; Valley and Other Madness « Explorer HTML, XHTML et CSS est un guide actualisé et minutieusement documenté sur les pratiques avant-gardistes en matière de mise en page et de présentation de pages Web. Les auteurs anticipent les points susceptibles de prêter à confusion chez le lecteur et les clarifient en temps opportun. L'approche utilisée, qui s'appuie sur une abondance d'exemples visuels et une cohérence de présentation, est optimale pour le lecteur : il effectuera de petites modifications et observera l'effet final dans le navigateur, ce qui lui permettra de comprendre le but de chaque nouvel élément. .» - Danny Goodman, auteur de Dynamic HTML: The Definitive Guide « L'apprentissage du HTML, du XHTML et du CSS donne au lecteur l'impression que l'ensemble du processus d'apprentissage est simple et amusant dès le début. Maîtriser le HTML, lorsqu'il est correctement expliqué, n'est pas plus difficile que d'apprendre les bases de votre langue maternelle, et les auteurs font un excellent travail en fournissant des exemples clairs de chaque concept. - Mike Davidson, président et chef de la direction de Newsvine, Inc. « Au lieu de présenter du matériel dans le style des manuels scolaires traditionnels, Programmation pour iPhone et iPad offre au lecteur une méthode vivante, engageante et même agréable pour apprendre à programmer pour iOS. Le matériel est sélectionné avec compétence et efficacité : le livre couvre de nombreuses technologies clés, y compris Core Data, et même des aspects aussi importants que la conception d'interfaces. Et où pouvez-vous en savoir plus sur UIWebView et UITextField en train de discuter au coin du feu ? » - Sean Murphy, concepteur et développeur d'applications iOS « Le codage pour iPhone et iPad explique le développement d'applications iOS dès le début. Les changements majeurs par rapport à la première édition concernent iOS 4, Xcode 4 et l'écriture d'applications iPad. Grâce à des descriptions étape par étape avec un style visuel de présentation du matériel, ce livre devient un excellent outil pour apprendre la programmation pour iPhone et iPad sous tous ses aspects, du plus simple au plus non trivial. - Rich Rosen, programmeur et co-auteur du livre Mac OS X pour Unix Geeks BBK 32.988-02-018.1 UDC 004.43 F88 F88 Freeman E., Robson E. Apprentissage de la programmation JavaScript. - Saint-Pétersbourg : Peter, 2015. - 640 pp. : ill. - (Série Head First O'Reilly). ISBN 978-5-496-01257-7 Êtes-vous prêt à faire un pas en avant dans la programmation Web et à passer de la mise en page HTML et CSS à la création de pages dynamiques à part entière ? Alors il est temps de vous familiariser avec le langage de programmation le plus en vogue : JavaScript ! Avec ce livre, vous apprendrez tout sur JavaScript, des variables aux boucles. Vous comprendrez pourquoi différents navigateurs réagissent différemment au code et comment écrire du code universel pris en charge par tous les navigateurs. Vous verrez pourquoi vous n'aurez jamais à vous soucier de l'encombrement des pages ou des erreurs de transfert de données avec le code JavaScript. Ne vous inquiétez pas, même si vous n'avez jamais écrit une seule ligne de code auparavant - grâce au format unique de présentation du matériel, ce livre vous guidera facilement tout au long du parcours d'apprentissage : de l'écriture d'un script simple à la création de scripts complexes. des projets Web qui fonctionneront dans tous les navigateurs modernes. Une particularité de cette publication est la manière unique de présenter le matériel, qui distingue la série O'Reilly « Head First » des nombreux livres ennuyeux sur la programmation. 12+ (Conformément à la loi fédérale n° 436-FZ du 29 décembre 2010.) BBK 32.988-02-018.1 UDC 004.43 Droits de publication obtenus dans le cadre d'un accord avec O'Reilly. Tous droits réservés. Aucune partie de ce livre ne peut être reproduite sous quelque forme que ce soit sans l'autorisation écrite des détenteurs des droits d'auteur. ISBN 978-1449340131 Anglais ISBN 978-5-496-01257-7 © Traduction russe autorisée de l'édition anglaise de Head First JavaScript Programming, 1re édition (ISBN 9781449340131) © 2014 Eric Freeman, Elisabeth Robson. Cette traduction est publiée et vendue avec l'autorisation de O'Reilly Media, Inc., qui possède ou contrôle tous les droits de publication et de vente de celle-ci © Traduction en russe par Peter Publishing House LLC, 2015 © Édition russe, conception par Publishing House LLC " Peter", 2015 Dédié à JavaScript - vous n'êtes pas né dans une famille prospère, mais vous avez surpassé tous les langages qui tentaient de rivaliser avec vous dans les navigateurs. Auteurs Elizabeth Robson Auteurs du livre fr Eric Freem Eric, selon l'un des créateurs de la série Head First, est « l'une des rares personnes qui connaît bien le langage, la pratique et la culture d'une grande variété de domaines - techno -hipster, vice-président, ingénieur, analyste. Eric a passé près de dix ans à occuper un poste de direction - CTO de Disney Online et Disney.com chez The Walt Disney Company. Eric donne désormais de son temps à WickedlySmart, une start-up qu'il a fondée avec Elizabeth. Eric est un informaticien qui a effectué des recherches avec David Gelernter à l'Université de Yale. Sa thèse constitue un travail fondateur dans le domaine des interfaces qui implémentent la métaphore du bureau, ainsi que sur la première implémentation de flux d'activités, un concept qu'il a développé en collaboration avec Gelernter. Dans ses temps libres, Eric s'implique sérieusement dans la musique ; Le dernier projet d'Eric, Immersion Station, créé avec Steve Roach, est disponible sur l'iPhone App Store. Eric vit avec sa femme et sa fille sur l'île Bainbridge. Sa fille s'arrête souvent au studio de musique d'Eric pour jouer avec des synthétiseurs et des générateurs d'effets audio. Écrivez à Éric au [email protégé] ou visitez son site Web http://ericfreeman.com. 8 Elizabeth est programmeuse, écrivaine et enseignante. Elle est amoureuse de son travail depuis ses années à l'Université de Yale, où elle a obtenu une maîtrise en informatique. Elizabeth est impliquée dans Internet depuis longtemps ; elle a contribué à la création du populaire projet Ada, l'un des premiers sites à aider les femmes à trouver des informations sur les emplois et l'éducation en informatique. Elle a cofondé WickedlySmart, une société d'éducation en ligne basée sur le Web. Ici, elle crée des livres, des articles, des cours vidéo, etc. En tant que directrice de projets spéciaux chez O'Reilly, Elizabeth a développé des séminaires et des cours à distance. Ce fut le début de sa passion pour la création de formations pour aider les gens à comprendre les nouvelles technologies. Avant de rejoindre O'Reilly, Elizabeth a travaillé chez The Walt Disney Company, où elle a dirigé la recherche et le développement dans les technologies des médias numériques. Lorsqu'Elizabeth n'est pas assise devant son ordinateur, elle aime faire de la randonnée, du vélo, de l'aviron ou cuisiner des repas végétariens. Vous pouvez envoyer un e-mail à Elizabeth à [email protected] ou visiter son blog à http://elisabethrobson.com. table des matières Table des matières (résumé) 1 2 3 4 5 6 7 8 9 10 11 12 13 Introduction Première connaissance de JavaScript. Dans des eaux inconnues Du vrai code. Étape suivante Connaître les fonctions. Des fonctions pour tous Mettre de l'ordre dans vos données. Les tableaux Rencontrent des objets. Voyage à Objectville Interaction avec la page web. Types de modèles DOM, égalité, conversions et tout ça. Des types sérieux Tous ensemble. Construire une application Programmation asynchrone. Gestion des événements Fonctionnalités de première classe. Fonctions illimitées Fonctions, portée et fermetures anonymes. Fonctions sérieuses Création d'objets non triviales. Création d'objets Utilisation de prototypes. Objets forts 25 37 79 113 157 203 257 291 341 403 449 495 539 579 Contenu (présent) Introduction Votre cerveau et JavaScript. Vous étudiez - vous préparez l'examen. Ou essayer de maîtriser un sujet technique complexe. Votre cerveau essaie de vous rendre service. Il essaie de garantir que de précieuses ressources ne soient pas gaspillées avec ces informations apparemment hors de propos. Il vaut mieux les dépenser pour quelque chose d'important. Alors, comment lui faire apprendre JavaScript ? Pour qui ce livre est-il écrit Nous savons ce que vous pensez Ce livre est destiné à ceux qui veulent apprendre la métacognition : la science de la pensée 24 25 26 27 Voici ce que NOUS avons fait : Ce que VOUS pouvez faire pour faire obéir votre cerveau Prendre note Éditeurs scientifiques Remerciements 28 29 30 33 34 9 table des matières 1 Dans des eaux inconnues, JavaScript offre des opportunités fantastiques. JavaScript, le principal langage de programmation du World Wide Web, vous permet de définir un comportement avancé dans les pages Web. Oubliez les pages sèches, ennuyeuses et statiques qui occupent de l'espace sur votre écran : avec JavaScript, vous interagirez avec les utilisateurs, répondrez aux événements, récupérerez et utiliserez des données sur Internet, afficherez des graphiques... et bien plus encore. Avec une bonne connaissance de JavaScript, vous pouvez même programmer un comportement complètement nouveau dans vos pages. Et rassurez-vous, vos connaissances seront recherchées. JavaScript est désormais non seulement l'un des langages de programmation les plus populaires, mais il est également pris en charge par tous les navigateurs modernes (et de nombreux navigateurs non modernes) ; De plus, il existe des implémentations intégrées de JavaScript qui existent séparément des navigateurs. Mais assez parlé. Il est temps de passer aux choses sérieuses ! CSS HTML JS 10 Navigateur Premiers pas avec javascript Comment fonctionne JavaScript 38 Comment écrire du code JavaScript 39 Comment inclure du code JavaScript dans une page 40 JavaScript, vous avez parcouru un long chemin, bébé... 42 Comment les commandes sont créées 46 Variables et Valeurs 47 Mots-clés Attention ! 48 Attention à vos expressions ! 51 Exécution répétée d'opérations 53 Comment fonctionne la boucle while 54 Prendre des décisions en JavaScript 58 Et si vous devez prendre BEAUCOUP de décisions... 59 Impliquer l'utilisateur dans l'interaction avec la page 61 Apprendre à connaître console.log 63 Comment ouvrir la console 64 Ecrire une application sérieuse en JavaScript 65 Comment ajouter du code à la page ? (compter les chemins) 68 Balisage et code : chemins divergents 69 table des matières 2 vrai code Étape suivante Vous savez déjà quelles variables, types, expressions... et ainsi de suite. Vous savez déjà quelque chose sur JavaScript. De plus, les connaissances sont suffisantes pour commencer à écrire de vrais programmes qui font quelque chose d'intéressant que quelqu'un utilisera. Il est vrai que vous manquez d’expérience pratique en écriture de code, et nous allons commencer à résoudre ce problème dès maintenant. Comment? Commençons simplement par écrire un jeu simple, entièrement implémenté en JavaScript. La tâche est de grande envergure, mais nous avancerons vers l’objectif progressivement, étape par étape. Alors, passons aux choses sérieuses, et si vous, Nachacha, souhaitez soudainement utiliser notre développement dans vos projets, cela ne nous dérange pas, disposez du code comme bon vous semble. Préparation Réception des données de l'utilisateur miss Vérification du résultat hit navire coulé Marque : navire coulé Sortie du score/score Game over Mark : hit Implémentons le jeu « Sea Battle » 80 Première manche. .. 80 Commençons par le design 81 Analysons le pseudocode 83 Stop ! Avant d’aller plus loin, pensez au HTML ! 85 Nous écrivons le code d'une version simplifiée de « Battleship » 86 Nous passons à l'implémentation de la logique 87 Comment fonctionne la fonction d'invite 89 Vérification des touches 90 Ajout de code pour vérifier les touches 93 Sortie des données après le jeu 94 La mise en œuvre de la logique est prêt! 96 Un peu sur le contrôle qualité 97 Ne pouvons-nous pas faire plus court... 101 Le « cuirassé » simplifié est presque prêt 102 Comment obtenir une position aléatoire 103 La recette mondialement connue pour générer des nombres aléatoires 103 Retour au contrôle qualité 105 Félicitations, vous avez créé votre premier programme JavaScript ! Un mot maintenant sur la réutilisation du code 107 11 table des matières 3 12 découverte des fonctions Des fonctions pour tous Dans ce chapitre, vous maîtriserez votre premier super pouvoir. Vous savez déjà quelque chose sur la programmation ; Il est temps de passer à l'étape suivante et de maîtriser l'utilisation des fonctions. Les fonctions vous permettent d'écrire du code qui peut être réutilisé dans différentes situations ; un code nettement plus facile à maintenir ; code qui peut être résumé et donné un nom simple afin que vous puissiez oublier les détails banals et vous concentrer sur les choses qui comptent vraiment. Vous verrez que les fonctions ouvrent non seulement la porte aux compétences du programmeur, mais jouent également un rôle clé dans le style de programmation JavaScript. Dans ce chapitre, nous commencerons par les bases : les mécanismes et les tenants et aboutissants du fonctionnement des fonctions, puis nous passerons le reste du livre à améliorer vos compétences fonctionnelles. Alors commençons par les bases... dès maintenant. Alors, quel est le problème avec ce code ? 115 Au fait, avez-vous déjà entendu parler des FONCTIONS ? 117 D’accord, mais comment ça marche ? 118 Que peut-on transmettre à une fonction ? 123 JavaScript utilise le passage par valeur 126 Expérimenter avec des fonctions 128 Les fonctions peuvent également renvoyer des valeurs 129 Parcourir une fonction avec la commande return 130 Variables globales et locales 133 La portée des variables locales et globales 135 La courte durée de vie des variables 136 Don n'oubliez pas de déclarer les variables locales ! 137 table des matières 4 mettre de l'ordre dans vos données Tableaux 0 60 50 1 2 50 52 3 60 54 4 5 58 6 7 54 8 54 9 58 JavaScript peut fonctionner avec plus que de simples nombres, chaînes et booléens. Jusqu'à présent, nous avons travaillé exclusivement avec des primitives - des chaînes simples, des nombres et des booléens (comme "Fido", 23 et vrai). Vous pouvez faire beaucoup de choses avec les types primitifs, mais à un moment donné, vous aurez besoin de données étendues pour représenter tous les articles d'un panier, toutes les chansons d'une liste de lecture, un groupe d'étoiles et leurs grandeurs, ou un catalogue entier. de produits. De telles tâches nécessitent des fonds plus importants. Un outil typique pour représenter de telles données homogènes est un tableau JavaScript. Dans ce chapitre, vous apprendrez à placer des données dans un tableau, à les transmettre et à les utiliser. Les chapitres suivants examineront d'autres façons de structurer les données, mais nous commencerons par les tableaux. Vas-tu nous aider ? 158 Comment représenter un ensemble de valeurs en JavaScript 159 Comment fonctionnent les tableaux 160 Combien d'éléments y a-t-il dans un tableau ? 162 Générateur de belles phrases 164 Pendant ce temps, chez Bubbles-R-Us... 167 Comment parcourir les éléments d'un tableau 170 Mais attendez, il existe un moyen plus pratique d'itérer ! 172 Quoi encore ?... Cela ne peut-il pas être plus court ? 178 Affiner la boucle for avec l'opérateur d'incrémentation postfix 179 Créer un tableau vide (et ajouter des éléments) 183 Voici nos gagnants... 187 Présentation du code... 189 Travailler sur la fonction printAndGetHighScore 190 Refactoriser le code pour définir la fonction printAndGetHighScore 191 Et maintenant tout est ensemble... 193 13 sommaire 5 14 rencontres : objets Un voyage à Objectville Jusqu'à présent, nous avons utilisé des primitives et des tableaux. Et il utilisait une méthodologie de programmation procédurale avec des commandes, des conditions, des boucles for/while et des fonctions simples. Cette approche était loin des principes de la programmation orientée objet. En fait, cela n’avait rien à voir avec la programmation orientée objet. Nous avons utilisé des objets de temps en temps (sans même que vous le sachiez), mais nous n'en avons pas encore écrit. Il est temps de quitter la ville procédurale ennuyeuse et de commencer à créer vos propres objets. Dans ce chapitre, vous découvrirez pourquoi les objets améliorent considérablement nos vies, du moins en matière de programmation. Sachez simplement ceci : une fois habitué aux objets, vous ne voudrez plus y retourner. Oh, et n'oubliez pas d'envoyer une carte postale lorsque vous vous installez. Quelqu'un a dit « objets » ?! 204 En savoir plus sur les propriétés... 205 Comment créer un objet 207 Qu'est-ce que « l'approche orientée objet » ? 210 Comment fonctionnent les propriétés 211 Comment un objet est-il stocké dans une variable ? Les esprits curieux sont intéressés... 216 Comparer des primitives avec des objets 217 Les objets peuvent faire plus... 218 Pré-validation 219 Vérifier pas à pas 220 Parlons un peu plus du passage d'objets aux fonctions 222 Comportez-vous bien ! Et apprenez à vos objets... 228 Améliorer la méthode drive 229 Pourquoi la méthode drive ne connaît-elle pas la propriété démarrée ? 232 Comment cela fonctionne 234 Comment le comportement affecte l'état 240 L'état affecte le comportement 241 Félicitations pour vos premiers objets ! 243 Imaginez, vous êtes entouré d'objets solides ! (et ils facilitent votre travail) 244 table des matières 6 interagir avec une page Web DOM Vous avez fait des progrès significatifs dans l'apprentissage de JavaScript. En fait, vous êtes passé d'un débutant dans le domaine de la programmation de scripts à... un programmeur. Il manque cependant une chose : pour utiliser pleinement vos compétences JavaScript, vous devez être capable d'interagir avec la page Web dans laquelle réside votre code. Ce n'est que dans ce cas que vous pourrez écrire des pages dynamiques qui répondent aux actions de l'utilisateur et se mettent à jour après le chargement. Comment interagir avec la page ? Grâce au modèle objet de document DOM (Document Object Model). Dans ce chapitre, nous examinerons le DOM et les principes généraux de travail avec ce modèle à partir de JavaScript pour améliorer les capacités de la page. Bonjour, je suis un navigateur. Je lis une page et j'en construis une représentation dans le DOM. Dans le chapitre précédent, nous vous avons présenté une énigme « casser le code » : 258 Que fait ce code ? 259 Comment JavaScript interagit réellement avec un Page 261 Comment préparer le DOM 262 DOM : premières impressions 263 Obtenir un élément avec getElementById 268 Qu'obtenons-nous exactement du DOM ? 269 ​​​​Trouver du HTML interne 270 Que se passe-t-il lorsque vous apportez des modifications au DOM 272 Et ne pensez même pas à exécuter mon code avant le chargement de la page ! 277 « Gestionnaire d'événements » ou « Fonction de rappel » 278 Comment définir un attribut à l'aide de la méthode setAttribute 283 Le plaisir avec les attributs continue ! (les valeurs des attributs peuvent être LIRE) 284 Et n'oubliez pas que getElementById peut également renvoyer null ! 284 Chaque fois que vous demandez une valeur, assurez-vous d'obtenir ce que vous avez demandé... 284 Que pouvez-vous faire d'autre avec le DOM ? 286 document html tête corps p id =”greenplanet” p id =”redplanet” p id =”blueplanet” Tout va bien Rien à signaler Tous les systèmes A-OK 15 contenu 7 16 types, égalité, transformations et tout ça Types sérieux Le temps est venu parler sérieusement des types. L'un des avantages de JavaScript est qu'un débutant peut aller assez loin sans avoir à se plonger dans les détails du langage. Mais pour vraiment maîtriser une langue, obtenir une promotion au travail et faire quelque chose qui en vaut vraiment la peine, vous devez être bon en dactylographie. Vous souvenez-vous de ce que nous avons dit à propos de JavaScript : que le langage n'avait pas le luxe d'une définition académique évaluée par des pairs ? Oui, c’est vrai, mais le manque de formation universitaire n’a pas arrêté Steve Jobs et Bill Gates ; cela n'a pas non plus interféré avec JavaScript. Cela signifie que le système de types de JavaScript est... eh bien, disons simplement qu'il n'est pas le plus sophistiqué, et qu'il contient de nombreuses bizarreries. Mais ne vous inquiétez pas, nous allons tout détailler dans ce chapitre, et vous apprendrez bientôt comment naviguer en toute sécurité dans tous ces moments délicats avec les types. La vérité est là-bas... 292 Attention : undefined apparaît parfois à l'improviste... 294 Comment utiliser null 297 Travailler avec NaN 299 La suite est encore plus surprenante 299 Nous avons un aveu à faire... 301 L'opérateur d'égalité (également connu sous le nom de = =) 302 Comment se produit la conversion d'opérande (ce n'est pas aussi effrayant que cela puisse paraître) 303 Comment vérifier l'égalité stricte 306 Encore plus de conversions de types... 312 Comment vérifier l'égalité de deux objets 315 Pseudo- la vérité est quelque part à proximité... 317 Ce que JavaScript pense du « pseudo-mensonge » 318 La vie secrète des chaînes 320 Une chaîne peut ressembler à la fois à une primitive et à un objet 321 Un bref aperçu des méthodes (et propriétés) des chaînes 323 La bataille pour le chaise 327 table des matières 8 tous ensemble Créer une application Préparez vos outils pour le travail. Oui, votre boîte à outils comprend vos nouvelles compétences en programmation, votre connaissance du DOM et même quelques connaissances en HTML et CSS. Dans ce chapitre, nous allons tout rassembler pour créer notre première application Web à part entière. Des jeux assez primitifs avec un seul navire placé sur une seule ligne. Dans ce chapitre nous allons construire la version complète : un grand terrain de jeu, plusieurs vaisseaux, une saisie utilisateur directement sur la page web. Nous allons créer la structure de la page de jeu en balisage HTML, appliquer un style visuel à l'aide de CSS et écrire du code JavaScript qui définit le comportement du jeu. Préparez-vous : dans ce chapitre, nous allons nous lancer dans une programmation complète et sérieuse et écrire du code sérieux. Cette fois, nous allons créer un VRAI jeu Battleship 342 Retour au HTML et CSS 343 Créer une page HTML : vue d'ensemble 344 Ajouter un style 348 Utiliser les classes Hit et Miss 351 Comment concevoir un jeu 353 Implémenter une vue 355 Comment utiliser la méthode displayMessage Fonctionnement 355 Comment fonctionnent les méthodes displayHit et displayMiss 357 Modèle 360 ​​Comment nous allons représenter les données du navire 362 Implémentation de l'objet modèle 365 Préparation de la méthode de tir 366 Implémentation du contrôleur 373 E Manipulation du tir 374 F Planification du code... 375 B C D Navire 1 A Ship 2 Ship 3 G 0 1 2 3 4 HIT 5 6 Implémentation de la méthode parseGuess 376 Comptage et traitement des tirs 379 Comment lier un gestionnaire d'événements au bouton Fire 383 Transmission de données au contrôleur 384 Comment placer des navires 388 La méthode generateShip 389 Générer la position de départ d'un nouveau vaisseau 390 Compléter la méthode generateShip 391 17 table des matières 9 18 programmation asynchrone Gestion des événements Dans ce chapitre, vous devez passer à un niveau fondamentalement nouveau. Jusqu'à présent, nous avons écrit du code qui s'exécute généralement de haut en bas. Bien sûr, il utilisait des fonctions, des objets et des méthodes, mais l’exécution suivait un chemin pré-planifié. C'est dommage que nous devions annoncer cette nouvelle dans la seconde moitié du livre, mais cette structure de code n'est pas typique de JavaScript. La plupart du code JavaScript est écrit pour gérer des événements. Quels événements ? Oui, n'importe lequel. Un utilisateur clique sur une page, des données proviennent du réseau, un timer se déclenche dans le navigateur, des changements se produisent dans le DOM... Cette liste n'est en aucun cas exhaustive. De plus, des événements se produisent constamment dans le navigateur et passent largement inaperçus. Dans ce chapitre, nous reconsidérerons notre approche de la programmation et découvrirons pourquoi nous devons écrire du code qui répond aux événements. Qu'est-ce qu'un « événement » ? 405 Qu'est-ce qu'un « gestionnaire d'événements » ? 406 Comment créer votre premier gestionnaire d'événements 407 Essai routier 408 Comment comprendre les événements ? Écrivez un jeu, bien sûr ! 410 Implémentation du jeu 411 Test drive 412 Ajoutons plusieurs images 416 Vous devez maintenant attribuer un gestionnaire à toutes les propriétés onclick de toutes les images 417 Comment utiliser un seul gestionnaire pour toutes les images 418 Comment fonctionne l'objet événement 421 Travailler avec l'objet événement 423 Test drive : objet et source d'événement 424 Files d'attente et événements 426 Encore plus d'événements 429 Comment fonctionne setTimeout 430 Compléter le code du jeu 434 Minuteurs de test 435 Table des matières 10 Fonctionnalités de premier ordre Fonctionnalités illimitées Explorez les fonctionnalités et brillez. Chaque métier, art et discipline a un principe fondamental qui sépare le joueur moyen du véritable professionnel. Et lorsqu'il s'agit de JavaScript, la marque de compétence est une bonne compréhension des fonctions. Les fonctions jouent un rôle fondamental en JavaScript, et de nombreuses techniques utilisées pour concevoir et organiser le code reposent sur une bonne connaissance des fonctions et la capacité de les utiliser. Le chemin vers l'apprentissage des fonctions à ce niveau est intéressant et stimulant, alors préparez-vous... Ce chapitre est un peu comme faire une visite de la chocolaterie de Willy Wonka - vous verrez beaucoup de choses étranges, folles et merveilleuses au fur et à mesure que vous apprendre les fonctions JavaScript. La double vie du mot-clé de fonction 450 Déclarations de fonction et expressions de fonction 451 Analyse d'une déclaration de fonction 452 Quelle est la prochaine étape ? Le navigateur exécute le code 453 Aller de l'avant... Tester la condition 454 Et enfin... 455 Fonctionne comme des valeurs 459 Fonctionne comme des citoyens JavaScript complets 462 Voler en première classe 463 Écrire du code pour traiter et vérifier les passagers 464 Itérer parmi les passagers 466 Passer une fonction vers une autre fonction 467 Essai routier. .. ou plutôt, vol 467 Retour des fonctions des fonctions 470 Code de commande des boissons 471 Code de commande des boissons : une approche différente 472 Attendez, un verre ne suffit pas ! 473 Commander des boissons avec la fonction première classe 474 Vol d'essai 475 Web Cola 477 Comment fonctionne la méthode de tri par tableau 479 Tous ensemble 480 Pendant ce temps chez Web Cola 481 Tri d'essai 482 19 table des matières 11 Putain de merde ! Judy a encore raison. 20 Fonctions anonymes, portée et fermetures Fonctions sérieuses Nous avons beaucoup appris sur les fonctions, mais ce n'est pas tout. Dans ce chapitre, nous irons plus loin et approfondirons les sujets que les professionnels étudient généralement. Vous apprendrez à utiliser les fonctions de manière très efficace. Le chapitre ne sera pas trop long, mais il sera assez intensif, de sorte qu'à la fin du chapitre, votre code JavaScript sera plus expressif que prévu. Vous serez également prêt à reprendre le code d'un collègue ou à explorer une bibliothèque JavaScript open source, car nous apprendrons également quelques idiomes et conventions courants liés à l'utilisation de fonctions. Et si vous n'avez jamais entendu parler de fonctions et de fermetures anonymes, alors c'est le meilleur endroit pour en savoir plus ! Attendez une seconde... Judy n'a pas mentionné les fermetures ? Ils semblent avoir quelque chose à voir avec ce que nous faisons. Étudions ce sujet et réglons-le. Regardons les fonctions de l'autre côté... 496 Comment utiliser une fonction anonyme ? 497 Quand une fonction est-elle définie ? Il y a des options ici... 503 Que s'est-il passé ? Pourquoi la fonction fly n'est-elle pas définie ? 504 Comment sont créées les fonctions imbriquées 505 Comment l'imbrication affecte la portée 506 La portée lexicale en quelques mots 508 Pourquoi la portée lexicale est intéressante 509 Les fonctions à nouveau 511 Les appels de fonction (à nouveau) 512 Qu'est-ce qu'une « fermeture » ? 515 Comment fermer une fonction 516 Utiliser des fermetures pour implémenter un compteur 518 Tester le compteur magique 519 Un aperçu des coulisses 519 Créer une fermeture avec une expression de fonction passée en argument 521 Une fermeture contient l'environnement immédiat, pas une copie de celui-ci 522 Créer une fermeture dans un gestionnaire d'événements 523 Un programme sans fermeture 524 Programme avec fermeture 524 Test du compteur d'accès 525 Comment fonctionne la fermeture 526 table des matières 12 création non triviale d'objets Création d'objets Jusqu'à présent, nous créions des objets manuellement. Pour chaque objet, un littéral d'objet a été utilisé, qui spécifiait toutes les propriétés sans exception. Pour les petits programmes, cela est acceptable, mais pour du code sérieux, vous aurez besoin de quelque chose de mieux, à savoir des constructeurs d'objets. Les constructeurs facilitent la création d'objets et vous pouvez créer des objets à l'aide d'un seul modèle. En d'autres termes, les constructeurs vous permettent de créer une série d'objets ayant les mêmes propriétés et contenant les mêmes méthodes. Le code écrit à l'aide de constructeurs est beaucoup plus compact et réduit le risque d'erreurs lors de la création d'un grand nombre d'objets. Nous vous assurons qu'après avoir étudié ce chapitre, vous utiliserez les constructeurs comme si vous l'aviez fait toute votre vie d'adulte. Créer des objets à l'aide de littéraux d'objet 540 À propos des similitudes et des différences entre les objets 541 Constructeurs 543 Comment créer un constructeur 544 Comment utiliser un constructeur 545 Comment fonctionnent les constructeurs 546 Vous pouvez également ajouter des méthodes aux constructeurs 548 La zone de danger 551 Précautions de sécurité 551 Produisons en série ! 554 Essai routier sur de nouvelles voitures 556 N'abandonnez pas les littéraux d'objet 557 Conversion d'arguments en littéral d'objet 558 Conversion d'un constructeur de voiture 559 Instances 561 Même les objets construits peuvent contenir des propriétés indépendantes 564 Les constructeurs dans le monde réel 566 L'objet Array 567 Autres objets construits in Objects 569 21 Table des matières 13 Utilisation de prototypes Objets puissants Apprendre à créer des objets n'est que le début. Il est maintenant temps de faire travailler vos muscles en apprenant des outils avancés pour définir les relations entre les objets et partager du code. En outre, nous aurons besoin de mécanismes pour agrandir les installations existantes. En d’autres termes, nous devons étendre nos outils pour travailler avec des objets. Dans ce chapitre, vous verrez que JavaScript possède un modèle objet assez puissant, mais il est légèrement différent du modèle des langages orientés objet traditionnels. Au lieu des systèmes classiques basés sur des classes orientés objet, JavaScript utilise un modèle prototype : des objets qui peuvent hériter et étendre le comportement d'autres objets. Quel avantage cela vous apporte-t-il ? Vous le saurez bientôt. Alors, mettons-nous au travail... Object toString() hasOwnProperty() // et plus 581 mais quelle est l'efficacité ? 582 Les méthodes en double causent-elles vraiment des problèmes ? 584 Qu'est-ce qu'un « prototype » ? 585 L'héritage via un prototype 586 Comment fonctionne l'héritage 587 espèces : "Canine" Remplacer un prototype 589 bark() run() wag() Comment obtenir un prototype 591 Comment créer un prototype 592 Prototype de chien Remplacer une méthode héritée 594 À propos des prototypes dynamiques 598 Une implémentation plus intéressante de la méthode sit 600 ShowDog Prototype Encore une fois : comment fonctionne la propriété sit 601 ligue : « Webville » Par où commencer à concevoir des objets 605 Créer une chaîne de prototypes 607 Comment fonctionne l'héritage dans une chaîne de prototypes 608 stack() bait( ) gait() groom() Nom du chien d'exposition : « Scotty » race : « Scottish Terrier » poids : 15 gestionnaire : « Cookie » 22 Représentation des objets dans des diagrammes Constructeurs encore : code réutilisé, Analyse des résultats 617 Faire le ménage 618 Un peu plus d'effort 619 Appeler Dog.call étape par étape 620 Faire bon usage de l'héritage. .. extension de l'objet intégré 626 Grand Unified Theory Total JavaScript 628 Des objets pour une vie meilleure 628 Tout mettre ensemble 629 comment utiliser ce livre Introduction Je n'arrive pas à croire qu'ils aient inclus cela dans un livre sur la programmation JavaScript ! n y réponse urgente m OE e K A mangé du piment azd T Dans ce p, ils incluent le cript ? h S o a p v So yu na Ja i n va question : « à propos du programme rim o dans le livre et comment travailler avec ce livre Pour qui ce livre a-t-il été écrit ? Si vous répondez « oui » à toutes les questions suivantes : 1 Avez-vous accès à un ordinateur équipé d'un navigateur et d'un traitement de texte modernes ? 2 Voulez-vous apprendre, mémoriser, comprendre et maîtriser la programmation JavaScript en utilisant les meilleures pratiques et les derniers standards ? 3 Préférez-vous les conversations animées aux cours magistraux arides et ennuyeux ? ...Alors, ce livre est pour toi. Par « navigateur moderne », nous entendons une version mise à jour de Safari, Chrome, Firefox ou IE version 9 ou supérieure. [Note des ventes : fondamentalement, ce livre est destiné à toute personne ayant de l'argent.] À qui ce livre n'est-il pas destiné ? Si vous répondez « oui » à l’une des questions suivantes : 1 N’avez-vous absolument aucune idée de la programmation Web ? Vous débutez avec HTML et CSS ? Dans ce cas, il est préférable de commencer par le livre Apprendre le HTML, le XHTML et le CSS - avec son aide, vous apprendrez à créer des pages Web avant de vous lancer dans JavaScript. 2 Vous êtes déjà un développeur web expérimenté et vous recherchez une référence ? 3 Avez-vous peur d’essayer quelque chose de nouveau ? Préféreriez-vous aller chez le dentiste plutôt que de porter des rayures et des carreaux ? Pensez-vous qu'un livre dans lequel des objets JavaScript sont représentés comme des personnes ne peut pas être sérieux ? ...ce livre n'est pas pour vous. 24 introduction introduction Nous savons ce que vous pensez : « Les livres de programmation sont-ils vraiment si sérieux ? « Et pourquoi y a-t-il tant de dessins ici ? "Est-il possible d'apprendre quelque chose de cette façon ?" Votre cerveau pense que C'EST important. Dans ce cas, à cet égard, le cerveau aspire à de nouvelles expériences. Il cherche, analyse, attend constamment quelque chose d'inhabituel. C’est conçu de cette façon et cela nous aide à survivre. Comment notre cerveau gère-t-il toutes les choses normales du quotidien ? Il essaie de toutes ses forces de s'en protéger afin qu'ils n'interfèrent pas avec son véritable travail - en préservant ce qui est vraiment important. Le cerveau ne juge pas nécessaire de conserver des informations ennuyeuses. Il ne passe pas le filtre qui élimine ce qui est « manifestement sans importance ». Mais comment le cerveau sait-il ce qui est important ? Imaginez que vous êtes en promenade et que tout à coup un tigre apparaît juste devant vous. Que se passe-t-il dans votre tête et dans votre corps ? Les neurones sont activés. Les émotions éclatent. Des réactions chimiques se produisent. Et puis votre cerveau réalise... Super. Encore 613 pages sèches et ennuyeuses. ton cerveau ne se souvient de rien, il ne se souvient pas, bien sûr, c'est important ! N'oubliez pas! nous pouvons. Imaginez maintenant que vous êtes chez vous ou à la bibliothèque - dans un endroit chaleureux et confortable où il n'y a pas de tigres. Vous étudiez - vous préparez l'examen. Ou bien vous essayez de maîtriser un sujet technique complexe que vous disposez d'une semaine pour étudier... dix jours au maximum. Et voici le problème : votre cerveau essaie de vous rendre service. Il essaie de garantir que de précieuses ressources ne soient pas gaspillées avec ces informations apparemment hors de propos. Il vaut mieux les dépenser pour quelque chose d'important. Les tigres, par exemple. Ou qu’il vaut mieux ne pas toucher au feu. Ou qu’il ne faut pas skier en T-shirt et en short. Il n'y a pas de moyen simple de dire à votre cerveau : « Écoute, cerveau, je te remercie bien sûr, mais peu importe à quel point ce livre est ennuyeux, et même si mon capteur émotionnel est à zéro en ce moment, je veux me rappeler ce qui se passe. écrit ici. » plus loin� 25 enseigne comment travailler avec ce livre. Ce livre est destiné à ceux qui veulent se souvenir. un tel » pour comprendre, mais par « de quoi s'agit-il de zhn bien et d'al manger ? La première chose à explorer est la manière dont nous apprenons quelque chose. Selon la nouvelle attitude, personne n'a plus de fa, pour l'assimilation, poussez-le dans la tête de la psychologie formée et gy lo io vers l'année, nous ne savons pas comment est le tivisme, kst sur la page. Nous maîtrisons le domaine de la connaissance, c'est-à-dire qu'il faut quelque chose de plus matériel, contrairement à d'autres langues, pour fonctionner. Le code JavaScript est transféré pour forcer votre cerveau à st:py series Head Fir Fundamentals directement vers le navigateur. texte st, mieux que d'habitude ka est mémorisé lu arm fo dans la visualisation. Les graphiques reflètent l'efficacité du lecteur et augmentent considérablement le Krom du serveur Web (code trouvé, récupération et recherche). . Informations récentes sur les conférences formelles (matériel vmzgo Raozheniya izlassk Grow %. omrn 40 tvo lors de la préparation du réalisable sur le test final de soi pour zul rete osi améliorer la conférence. Pas rel Je crois que pour lire mange un vm, gris abeille I tor sur utiliser l'appel attention : code JavaScript occupé Qu'est-ce qui vous attirera trop au sérieux si je suis placé dans l'élément à la table ou en cours de conférence ou non, vous commencerez à vous fatiguer Maintenant que vous êtes un lecteur. Tant que vous ne l'êtes pas, be man ate vni Participation active de Tatnya Chi met t. Sur deoise et tête, rien de plus soigné avec vos circonvolutions, dans les vôtres ce devraient être elles. ceux; en ta e m zul per re v m i n ny va reso global devrait être intéressé par la maîtrise des conclusions et des ul rmfo, des réalisations pour résoudre les exercices Et pour cela, vous avez besoin de nouvelles connaissances. implication, dans la solution de laquelle se posent des questions délicates du gouvernement. J'ai un cerveau et des sentiments différents dans les deux hémisphères Ma Playlist Kick'n Tunes

BT - Satellite : belle mélodie downbeat.

Oh, je. Monsieur! C'est l'attention du lecteur qui est rapidement attirée - Attirer (et retenir) l'or, je veux étudier cela Ne compte pas sur moi pour dire à tout le monde : « Je sais très bien, le cirr tua de Siiot attire l'attention sur ça ! oh page." Le cerveau est actif dans les pays, mais je m'endors au début, à l'inattendu. C'est une manie étrange et attirante d'être intéressant et ennuyeux. Il n'est pas nécessaire que l'inter-sujet soit fixé au même niveau, l'étude est plus rapide. Il serait beaucoup plus facile de reconnaître la capacité de se rappeler quoi faire. oh, je suis. Nous savons que nous ne sommes pas indifférents : faire appel aux émotions est ce dont nous avons besoin pour vivre. On ne se concentre sur rien : on parle et cela dépend de l'émotion dont on parle ici. Non, le centime, c'est vraiment cool ! lorsque nous décidons quand nous le sommes, nous nous souvenons de l'intérêt et du sentiment « Din, j'ai bien peur d'être surpris que vous compreniez de telles émotions au fur et à mesure que vous comprenez, mais j'attends de calculer les tâches qui entourent le département checheskiy. je sais tout Bob de la technologie est meilleur, le sujet est meilleur 26 introduction introduction Métacognition : la science de la pensée Si vous voulez vraiment assimiler de nouvelles connaissances plus rapidement et plus profondément, réfléchissez à votre façon de penser. Apprendre pour apprendre. Peu d’entre nous étudient la théorie de la métacognition au cours de nos études. Nous sommes censés apprendre, mais on nous l’enseigne rarement. Maintenant, comment puis-je forcer mon cerveau à se souvenir de tout cela... Mais puisque vous lisez ce livre, alors vous voulez probablement apprendre à écrire des programmes en JavaScript, et le plus rapidement possible. Vous voulez vous souvenir de ce que vous lisez, et pour ce faire, il est absolument nécessaire de comprendre d’abord ce que vous lisez. Pour tirer le meilleur parti du processus d’apprentissage, vous devez forcer votre cerveau à percevoir le nouveau matériel comme quelque chose d’important. Critique à votre existence. Aussi important qu'un tigre. Sinon, vous serez confronté à une lutte sans fin avec votre cerveau, qui fait de son mieux pour éviter de mémoriser de nouvelles informations. Comment CONVAINCRE votre cerveau que la programmation JavaScript est aussi importante qu'un tigre ? Il existe une méthode lente et ennuyeuse, et il en existe une autre rapide et efficace. La première est basée sur une répétition ennuyeuse. Tout le monde sait que même les informations les plus ennuyeuses peuvent être mémorisées si vous les répétez encore et encore. Avec suffisamment de répétitions, votre cerveau pense : « Cela semble insignifiant, mais comme la même chose se répète tant de fois... D'accord, je vous ai convaincu. » Une méthode rapide repose sur l’augmentation de l’activité cérébrale et surtout sur une combinaison de ses différents types. Il a été prouvé que tous les facteurs énumérés à la page précédente aident votre cerveau à travailler pour vous. Par exemple, des études ont montré que le fait de placer des mots dans des images (plutôt que dans des légendes, le corps du texte, etc.) d.) oblige le cerveau à analyser les connexions entre le texte et les graphiques, ce qui conduit à l'activation d'un plus grand nombre de neurones. Un plus grand nombre de neurones signifie une plus grande chance que l’information soit considérée comme importante et mérite d’être mémorisée. Le style de conversation est également important : les gens sont généralement plus attentifs lorsqu’ils sont impliqués dans une conversation, car ils doivent suivre le déroulement de la conversation et exprimer leurs opinions. De plus, le cerveau n’est pas du tout intéressé par le fait que vous « parlez » à un livre ! D'un autre côté, si le texte est sec et formel, le cerveau ressent la même chose que vous ressentez lors d'une conférence ennuyeuse en tant que participant passif. Il devient somnolent. Mais les dessins et le style conversationnel ne sont qu’un début. plus loin� 27 comment travailler avec ce livre Voici ce que NOUS avons fait : Nous avons utilisé des images parce que le cerveau perçoit mieux les graphiques que le texte. Du point de vue du cerveau, une image vaut 1 024 mots. Et lorsque du texte est combiné avec des graphiques, nous intégrons le texte directement dans les dessins, afin que le cerveau fonctionne plus efficacement. Nous utilisons la redondance : répéter la même chose plusieurs fois, utiliser différents moyens de transmission de l'information, faire appel à différents sens - tout cela pour augmenter la probabilité que le contenu soit codé dans plusieurs zones de votre cerveau. Chien Espèce prototype : "Canine" bark() run() wag() ShowDog Prototype league : "Webville" stack() bait() gait() groom() ShowDog nom : "Scotty" race : "Scottish Terrier" poids : 15 gestionnaire : « Cookie » Nous utilisons les concepts et les images de manière quelque peu inattendue, car le cerveau traite mieux les nouvelles informations. De plus, les dessins et les idées ont généralement un contenu émotionnel car le cerveau prête attention à la biochimie des émotions. Ce qui nous fait ressentir est mieux mémorisé - qu'il s'agisse d'une blague, d'une surprise ou d'un intérêt. Nous utilisons un style conversationnel parce que le cerveau traite mieux les informations lorsque vous participez à une conversation plutôt que lorsque vous écoutez passivement une conférence. Cela arrive aussi lors de la lecture. Le livre comprend de nombreux exercices car le cerveau se souvient mieux lorsque vous faites quelque chose. Nous avons essayé de les rendre stimulants mais intéressants – ce que préfèrent la plupart des lecteurs. Nous avons combiné plusieurs styles d'apprentissage car certains lecteurs préfèrent les descriptions étape par étape, d'autres veulent d'abord avoir une « vue d'ensemble » et d'autres encore ont juste besoin d'un extrait de code. Quelles que soient vos préférences personnelles, il est utile de voir plusieurs options pour présenter le même matériel. Nous avons essayé d'utiliser les deux hémisphères de votre cerveau ; cela augmente la probabilité d’apprendre la matière. Pendant qu’un côté du cerveau travaille, l’autre a souvent la possibilité de se reposer ; cela améliore l’efficacité de l’apprentissage sur une longue période de temps. Le livre comprend également des histoires et des exercices qui reflètent d’autres points de vue. Le cerveau absorbe les informations plus profondément lorsqu’il doit évaluer et porter des jugements. Il y a souvent des questions dans le livre auxquelles il n’est pas toujours facile de répondre, car le cerveau apprend et se souvient plus rapidement lorsqu’il doit faire quelque chose. Il est impossible de développer ses muscles en regardant les autres faire de l’exercice. Cependant, nous veillerons à ce que les efforts des lecteurs soient orientés dans la bonne direction. Vous n’aurez pas à vous creuser la tête avec des exemples déroutants ou à parcourir des textes faux, lourds de jargon ou trop concis. Il y a des gens dans les histoires, les exemples et les images – parce que vous êtes aussi une personne. Et votre cerveau accorde plus d’attention aux personnes qu’aux objets inanimés. Nous utilisons le principe 80/20. Si vous comptez devenir un développeur JavaScript passionné, vous ne pouvez pas vous en sortir seul avec ce livre. Dans ce document, nous n'essayons pas de parler de tout, mais seulement de ce qui est vraiment nécessaire. 28 introduction DEVENEZ un navigateur POINTS CLÉS Introduction aux puzzles Ce que VOUS pouvez faire pour faire obéir votre cerveau Nous avons fait notre travail. Le reste dépend de toi. Ces conseils constitueront un point de départ ; écoutez votre cerveau et déterminez ce qui vous convient et ce qui ne vous convient pas. Essayer de nouvelles choses. Découpez-le et fixez-le au réfrigérateur. 1 Prenez votre temps. Plus vous comprenez, moins vous devez vous souvenir. 6 Il ne suffit pas de lire. Lorsqu'un livre vous pose une question, ne sautez pas directement à la réponse. Imaginez que quelqu'un vous pose une question. Plus votre cerveau réfléchit profondément, plus vite vous comprendrez et mémoriserez le contenu. 7 2 Faites les exercices, prenez des notes. Nous avons inclus des exercices dans le livre, mais nous n'allons pas les faire pour vous. Et ne regardez pas les exercices. Prenez un crayon et écrivez. Les activités physiques pendant l'exercice augmentent son efficacité. 3 Lisez les encadrés. 4 Ne lisez pas d’autres livres, mettez celui-ci de côté avant de vous coucher. 5 Buvez de l'eau. Et plus. Le cerveau fonctionne mieux dans des conditions d’humidité élevée. La déshydratation (qui peut survenir avant même d’avoir soif) réduit la fonction cognitive. La parole active d'autres parties du cerveau. Si vous essayez de mieux comprendre ou de mieux vous souvenir de quelque chose, dites-le à voix haute. Mieux encore, essayez de l'expliquer à quelqu'un d'autre. Vous apprendrez la matière plus rapidement et découvrirez peut-être quelque chose de nouveau. Écoutez votre cerveau. Soyez conscient du moment où votre cerveau commence à se fatiguer. Si vous commencez à percevoir le matériel de manière superficielle ou si vous oubliez ce que vous venez de lire, il est temps de faire une pause. 8 Ressentez-le ! 9 Créez ! Cela signifie : lisez tout. Les barres latérales font partie du matériel principal ! Ne les manquez pas. Une partie de l’apprentissage (notamment le transfert d’informations dans la mémoire à long terme) se produit après la fermeture du livre. Votre cerveau n'absorbe pas immédiatement les informations. Si de nouvelles informations arrivent au cours du traitement, une partie de ce que vous avez appris précédemment risque d'être perdue. Parle à haute voix. Votre cerveau a besoin de savoir que le contenu du livre est vraiment important. Inquiétez-vous pour les héros de nos histoires. Créez vos propres légendes pour les photos. Il vaut toujours mieux froncer les sourcils face à une mauvaise blague que de ne rien ressentir. Essayez d'appliquer vos nouvelles connaissances dans votre travail quotidien. Faites simplement quelque chose pour acquérir une expérience pratique en dehors des exercices. Tout ce dont vous avez besoin est un crayon et la bonne tâche... Une tâche qui peut bénéficier de l'utilisation de JavaScript. 10 Dormir. Pour apprendre à programmer, vous devez créer de nombreuses nouvelles connexions dans votre cerveau. Dormez plus souvent, c'est utile. plus loin� 29 comment travailler avec ce livre Remarque : Il s'agit d'un manuel et non d'un ouvrage de référence. Nous avons intentionnellement supprimé du livre tout ce qui pourrait interférer avec le matériel sur lequel vous travaillez. Et lorsque vous lisez un livre pour la première fois, vous devez commencer par le tout début, car le livre suppose que le lecteur possède certaines connaissances et expériences. Nous décrivons les BONS aspects de JavaScript et mettons en garde contre les MAUVAIS aspects. Le langage de programmation JavaScript n’est pas né dans le milieu universitaire et n’a pas fait l’objet d’un examen éclairé par les pairs. Il est venu au monde par nécessité et a grandi dans l’environnement hostile des premiers navigateurs. Soyez prévenu : JavaScript présente de nombreux avantages, mais il présente également d’autres côtés, moins géniaux. Mais dans l’ensemble, JavaScript est un excellent langage pour ceux qui savent l’utiliser intelligemment. Dans ce livre, nous vous apprendrons à utiliser efficacement les points positifs, nous signalerons également les pièges possibles et vous conseillerons sur la meilleure façon de les éviter. Nous n’essayons pas de décrire tous les aspects de la langue en détail. JavaScript est un sujet assez vaste. Ce livre ne doit pas être considéré comme un ouvrage de référence ; Il s'agit d'un didacticiel qui ne couvre pas tout ce qu'il y a à apprendre sur JavaScript. Nous souhaitons vous apprendre les bases de JavaScript afin que vous puissiez prendre n'importe quel ancien ouvrage de référence et faire ce que vous voulez en JavaScript. Ce livre enseigne comment utiliser JavaScript dans les navigateurs. Le navigateur est non seulement l'environnement le plus courant pour exécuter du code JavaScript, mais aussi le plus pratique (tout le monde possède un ordinateur avec un éditeur de texte et un navigateur, et vous n'avez besoin de rien d'autre pour démarrer avec JavaScript). L'exécution de JavaScript dans le navigateur signifie également une réponse instantanée ; Pour voir comment fonctionne le code que vous avez écrit, il vous suffit de recharger la page Web. Le livre encourage l'écriture d'un code bien structuré et lisible. Le code doit être écrit de manière à le rendre lisible et compréhensible par d'autres personnes, et il doit également fonctionner dans les navigateurs qui sortiront l'année prochaine. Cela doit être aussi simple et direct que possible afin que vous puissiez faire le travail et pouvoir passer à autre chose. Dans ce livre, nous vous apprendrons à écrire du code simple et bien structuré qui peut s'adapter aux changements futurs : un code dont vous pourrez être fier, encadrer et accrocher à votre mur. Nous vous recommandons d'utiliser différents navigateurs. Pendant que nous vous apprenons à écrire du JavaScript basé sur des normes, vous rencontrerez probablement des différences mineures dans la façon dont JavaScript est interprété par les différents navigateurs. Bien que nous nous soyons assurés que le code ici fonctionne dans tous les navigateurs modernes et que nous vous montrerons même quelques astuces pour garantir que le code est pris en charge par ces navigateurs, nous vous recommandons de choisir plusieurs navigateurs et de tester votre code JavaScript. en eux. De cette façon, vous apprendrez à voir les différences entre les navigateurs et à créer du code JavaScript qui fonctionne bien sur différents navigateurs avec des résultats cohérents. 30 introduction introduction La programmation est une affaire sérieuse. Il faudra travailler, parfois assez dur. Si vous avez déjà une expérience pratique en programmation, alors vous savez de quoi nous parlons. Si vous avez acheté ce livre après avoir appris le HTML, le XHTML et le CSS, sachez que le code que vous allez écrire ici est... un peu différent. La programmation nécessite un état d’esprit particulier. C’est logique, parfois extrêmement abstrait et algorithmique. Ne vous inquiétez pas, nous essaierons de rendre le processus d'apprentissage aussi agréable que possible pour votre cerveau. Bougez progressivement, mangez bien et dormez davantage - et de nouveaux concepts s'intégreront dans votre tête. L'exercice est un MUST. Les exercices font partie du matériel principal du livre. Certains exercices aident à mémoriser le matériel, d’autres aident à mieux le comprendre et d’autres encore sont axés sur son application pratique. Ne sautez pas l'exercice. La répétition est intentionnelle. Les livres de cette série ont une caractéristique fondamentale : nous voulons que vous compreniez vraiment bien le contenu. Et pour que vous vous souveniez de tout ce que vous apprenez. La plupart des ouvrages de référence ne se concentrent pas sur une mémorisation réussie, mais il ne s'agit pas d'un ouvrage de référence, mais d'un manuel, donc certains concepts sont présentés plusieurs fois dans le livre. Les exemples ont été rendus aussi compacts que possible. Nos lecteurs n'aiment pas devoir parcourir 200 lignes de code dans des exemples pour trouver les deux lignes vraiment importantes. La plupart des exemples du livre sont donnés dans le moins de contexte possible pour que la partie que vous apprenez reste simple et claire. Ne vous attendez pas à ce que tous les exemples soient bien débogués ou complétés jusqu'à la fin - ils ont été créés à des fins éducatives et n'ont pas toujours toutes les fonctionnalités. Tous les fichiers d'exemple sont disponibles sur Internet. Vous les trouverez sur http://wickedlysmart.com/hfjs. Les exercices Mind Games n’ont pas de réponses. Dans certains d'entre eux, il n'y a pas de bonne réponse du tout, dans d'autres, vous devez décider vous-même de l'exactitude de vos réponses (cela fait partie du processus d'apprentissage). Certains exercices de Mind Games fournissent des indices pour vous aider à trouver la bonne direction. plus loin� 31 comment travailler avec ce livre Nous fournissons souvent uniquement du code sans balisage. Après les deux premiers chapitres, nous présentons souvent uniquement du code JavaScript, en supposant qu'il soit conditionné dans un balisage HTML. Vous trouverez ci-dessous une simple page HTML qui peut être utilisée avec la plupart du code du livre. Si un balisage HTML différent doit être utilisé quelque part, nous vous le dirons : Votre page HTML Votre code JavaScript est généralement placé ici. Tout le contenu de la page Web est publié ici. Ne t'inquiète pas; Nous vous expliquerons tout au début du livre. Exemples de code, support et discussions Tous les supports nécessaires sont disponibles sur http://wickedlysmart.com/hfjs. Des exemples de code et du matériel supplémentaire, y compris des vidéos, sont publiés ici. 32 introduction introduction Ces gars sont des gars formidables ; ils sont restés avec nous tout au long du processus d’examen et ont partagé de précieuses informations détaillées sur tout ! Rédacteurs scientifiques de St Jeff Ismael Martin Bing Demiddel Frank D. Moore Alfred J. Speller Bruce Forkush Javi e Ruedas Merci à tous les membres de notre équipe de révision hors pair ! Ce livre a fait l'objet d'un examen par les pairs plus rigoureux que n'importe lequel de nos livres précédents. Plus de 270 personnes qui ont rejoint notre programme WickedlySmart Insiders ont relu et fourni une critique rapide du livre tel qu'il a été écrit. Le système a fonctionné mieux que prévu et a affecté presque tous les aspects du livre. Nous exprimons notre sincère gratitude à tous les participants ; Grâce à vous, le livre est devenu bien meilleur qu'il n'aurait pu l'être. Les éditeurs universitaires illustrés ci-dessus ont fourni des informations particulièrement précieuses et ont apporté des contributions significatives au livre. En plus d'eux, nous avons été aidés par : Galina Orlova, J. Patrick Kelly, Klaus-Peter Kahl, Rob Cleary, Rebecca Dunn-Kran, Olaf Schoenrich, Jim Kupec, Matthew M. Hanrahan, Russell Allyn-Willems, Christine J. Wilson, Louis-Philippe Breton, Timo Glaser, Charmaine Gray, Lee Beckham, Michael Murphy, Dave Young, Don Smallidge, Alan Rusiak, Eric R. Lisinski, Brent Fazekas, Sue Starr, Eric (pantalon orange) Johnson, Jess Palmer, Manabu Kawakami, Alan McIvor, Alex Kelly, Yvonne Bixel Truon, Austin Troup, Tim Williams, J. Albert Bowden II, Rod Shelton, Nancy DeHaven Hall, Sue McGee, Francisco Debs, Miriam Berkland, Christine Grecco, Elhadji Barry, Athanasios Valsamakis, Peter Casey, Dustin Wallem et Robb Kerry. en savoir plus� 33 équipe de révision Remerciements* Cher David Powers Nous sommes également extrêmement reconnaissants envers notre estimé rédacteur scientifique, David Powers. En fait, nous n'écrivons pas du tout sans la contribution de David - il nous a trop souvent évité des problèmes potentiels. David nous aide (ou plutôt nous force) à rendre le livre plus significatif et techniquement plus précis, et son deuxième métier de comédien amateur s'avère utile lorsque nous écrivons les parties frivoles du livre. Merci encore David, vous êtes un vrai professionnel et nous dormons mieux la nuit en sachant que le livre a réussi votre examen technique. À O'Reilly : Un immense, immense merci à notre éditrice Megan Blanchett, qui a ouvert la voie à ce livre Don't Let That Smile Fool You, a dissipé toute confusion, cet homme est un obstacle, un vrai professionnel. j'ai attendu patiemment et sacrifié les loisirs familiaux pour son achèvement. Cela nous aide également à rester sains d'esprit dans notre relation avec O'Reilly (et O'Reilly dans leur relation avec nous). Nous vous adorons et avons hâte de réaliser votre prochain projet ensemble ! Megan Blanchett Un autre merci amical à notre rédacteur en chef, Mike Hendrickson, qui fait activement la promotion de ce livre depuis le tout début. Merci Mike ; Pas un seul de nos livres n’aurait été publié sans votre participation. Vous êtes notre leader depuis plus de dix ans et nous vous aimons ! *L'explication du grand nombre de remerciements est simple : nous testons la théorie selon laquelle toutes les personnes mentionnées dans la section des remerciements achèteront au moins un exemplaire du livre (et peut-être plus) pour leurs parents et amis. Si vous souhaitez que nous vous remercions dans notre prochain livre et que vous avez une famille nombreuse, écrivez. 34 Introduction Mike Hendrickson Introduction Aux contributeurs d'O'Reilly : Nos sincères remerciements à toute l'équipe d'O'Reilly : Melanie Yarbrough, Bob Pfahler et Dan Foxsmith, qui ont donné forme à ce livre ; Ed Stevenson, Hugett Barrier et Leslie Crandell, qui ont dirigé le marketing, ont apprécié leur approche innovante. Merci à Ellie Volkhakusen, Randy Kamer et Karen Montgomery pour le design élégant de la couverture qui continue de nous servir. Comme toujours, merci à Rachel Monahan pour son montage sans compromis (et la façon dont elle nous a encouragés) et à Bert Bates pour ses commentaires extrêmement utiles. en savoir plus� 35 1 première connaissance de javascript Dans des eaux inconnues Entrez, l'eau est tout simplement géniale ! Nous allons avoir une introduction de base à JavaScript, écrire un premier code, l'exécuter et voir comment il fonctionne dans le navigateur ! JavaScript ouvre des possibilités fantastiques. JavaScript, le principal langage de programmation du World Wide Web, vous permet de définir un comportement avancé dans les pages Web. Oubliez les pages sèches, ennuyeuses et statiques qui occupent de l'espace sur votre écran : avec JavaScript, vous interagirez avec les utilisateurs, répondrez aux événements, récupérerez et utiliserez des données sur Internet, afficherez des graphiques... et bien plus encore. Avec une bonne connaissance de JavaScript, vous pouvez même programmer un comportement complètement nouveau dans vos pages. Et rassurez-vous, vos connaissances seront recherchées. JavaScript est désormais non seulement l'un des langages de programmation les plus populaires, mais il est également pris en charge par tous les navigateurs modernes (et de nombreux navigateurs non modernes) ; De plus, il existe des implémentations intégrées de JavaScript qui existent séparément des navigateurs. Mais assez parlé. Il est temps de passer aux choses sérieuses ! comment fonctionne javascript Comment fonctionne JavaScript Vous maîtrisez la création de la structure, du contenu, de la mise en page et du style des pages Web. N'est-il pas temps de leur ajouter des comportements ? De nos jours, une page qui ne peut être que consultée n’intéresse personne. Les bonnes pages doivent être dynamiques et interactives, et elles doivent interagir avec les utilisateurs de nouvelles manières. C'est exactement à cela que sert JavaScript. Voyons d'abord où JavaScript s'intègre dans l'écosystème des pages Web : HTML Vous savez déjà que le HTML (Hypertext Markup Language) est utilisé pour définir le contenu des pages, ainsi que leur structure : paragraphes, titres et sections. JS 38  chapitre 1 Navigateur CSS Vous savez que la technologie CSS (Cascading Style Sheets) est utilisée pour afficher le balisage HTML - couleurs, polices, bordures, mise en page. .. CSS définit un style de conception distinct de la structure de la page. Alors découvrez JavaScript, le cousin du HTML et du CSS. JavaScript peut définir le comportement des pages Web. Besoin de réagir lorsque l'utilisateur clique sur le bouton « La vente se termine dans 30 secondes ! » ? Vérifier rapidement le contenu d'un champ de texte contenant des données importantes ? Télécharger les messages de Twitter et les afficher sur la page ? Ou peut-être que tu veux jouer ? JavaScript vient à la rescousse. Vous pouvez ajouter du code de programme à la page qui effectuera des calculs, réagira aux événements, dessinera, transmettra des données, signalera, mettra à jour des informations, modifiera... Bref, toutes les opérations dynamiques - JavaScript peut faire tout cela. première introduction à javascript Comment écrire du code JavaScript JavaScript occupe une place particulière dans le monde de la programmation. Comment naît un programme classique typique ? Vous écrivez du code, le compilez, le liez et l’installez sur votre ordinateur. Le langage JavaScript est beaucoup plus flexible et dynamique. Le programmeur intègre le code JavaScript directement dans la page, puis le charge dans le navigateur. Ensuite, le navigateur lui-même fera tout le nécessaire pour exécuter le code écrit. Examinons de plus près le fonctionnement de ce schéma : CSS Icecream var x = 49; Saveurs de glace 49 saveurs

Toutes vos saveurs préférées !

Écriture du code 1 La page est créée comme d'habitude, avec du contenu HTML et un style CSS. Le code JavaScript est ajouté à la page. Comme vous le verrez bientôt, comme pour HTML et CSS, vous pouvez placer tous les composants dans un seul fichier ou séparer le code JavaScript dans un fichier distinct inclus dans la page. Nous découvrirons bientôt quelle méthode est la meilleure... Navigateur Navigateur Chargement Exécution 2 Ouvrez la page dans le navigateur. Après avoir détecté du code JavaScript dans une page, le navigateur commence immédiatement à l'analyser et à le préparer pour son exécution. Comme pour HTML et CSS, si le navigateur rencontre des erreurs dans JavaScript, il essaiera de continuer à lire JavaScript, HTML et CSS. Le navigateur essaie d'éviter une situation dans laquelle l'utilisateur ne peut pas voir la page demandée. Pour l'avenir, le navigateur construit un « modèle objet » de la page HTML qui peut être utilisé par le code JavaScript. N'oubliez pas ce fait, nous y reviendrons plus tard... 3 Le navigateur commence à exécuter du code dès qu'il le rencontre, et continue de le faire tout au long de la vie de la page. Contrairement aux versions précédentes, le JavaScript moderne est très efficace et, grâce à des techniques de compilation sophistiquées, le code est presque aussi rapide que les langages de programmation traditionnels. html head title body script h1 h2 p em next 4   39 inclure javascript dans une page Comment inclure du code JavaScript dans une page Commençons par le début : pour avancer dans l'apprentissage de JavaScript, vous devez savoir comment inclure du code dans une page. Comment cela se fait-il ? Bien sûr, en utilisant l'élément ! Prenons une vieille page Web ennuyeuse et définissons son comportement dynamique dans le fichier . Même si nous n'avons pas besoin de réfléchir à la signification de ce que nous incluons dans l'élément, il est plus important de comprendre comment fonctionne JavaScript en général. En-tête, éléments et fichiers .doctype HTML5 standard. L'élément a l'air assez traditionnel. Juste une page générique Un élément de script est ajouté à la section de la page. setTimeout(wakeUpUser, 5000); function wakeUpUser() ( ) alert("Vas-tu regarder cette page ennuyeuse pour toujours ?"); Il enregistre un morceau de code JavaScript. Juste un titre générique Encore une fois : désormais, le fonctionnement de ce code ne nous importe plus. Et pourtant... Regardez-le et devinez ce qui se passe dans chacune des lignes.

Pas grand chose à lire ici. Je ne suis qu'un paragraphe obligatoire vivant dans un exemple dans un livre JavaScript. Je cherche quelque chose pour rendre ma vie plus excitante.

Test drive Entrez le code de la page et enregistrez-le dans un fichier nommé « behaviour.html ». Chargez maintenant la page dans le navigateur (faites glisser le fichier dans la fenêtre du navigateur ou utilisez la commande Fichier > Ouvrir). A quoi sert notre code ? Indice : vous devez attendre cinq secondes pour comprendre cela. 40  chapitre 1 débuter avec javascript RELAX Nous sommes probablement en train de créer du code qui peut être utilisé ailleurs et de l'appeler « wakeUpUser » ? SJ Ne t'inquiète pas. Personne ne s’attend à ce que vous commenciez immédiatement à comprendre JavaScript comme si vous le connaissiez depuis l’enfance. Pour l'instant, il suffit d'imaginer à quoi ressemble JavaScript. Il ne faut pas non plus se détendre : vous avez besoin que votre cerveau fonctionne à pleine capacité. Vous vous souvenez du code de la page précédente ? Essayons de deviner ce qui se passe dans chaque ligne : - de cette façon, comptez setTimeout(wakeUpUser, 5000); Quelles sont les secondes ici ? Indice : Unda soutient. function wakeUpUser() ( 1000 millisecondes = 1 sec ) alert("Allez-vous regarder cette page ennuyeuse pour toujours ?"); Tout est clair ici : un message s'affiche pour l'utilisateur. fréquemment Q : Questions fréquemment posées Q : R : J'ai entendu dire que JavaScript était qualifié de « langage jouet ». C'est vrai? Mon ami travaille avec JavaScript dans Photoshop... du moins c'est ce qu'il dit. Est-ce possible? JavaScript n'était pas très puissant à ses débuts, mais son importance a ensuite augmenté et des ressources importantes (y compris l'esprit des meilleures personnes) ont été consacrées à l'extension des capacités de JavaScript. Mais tu sais quoi? Même avant que JavaScript ne soit aussi rapide, c'était génial. Et comme vous le verrez bientôt, vous pouvez faire beaucoup de choses intéressantes avec. Oui, JavaScript est un langage de script universel et fait son chemin dans de nombreuses applications, des éditeurs graphiques aux programmes musicaux, et même dans le domaine de la programmation côté serveur. R : Q : R : JavaScript est-il lié d'une manière ou d'une autre à Java ? Seulement par son nom. Le langage JavaScript a été créé au sommet de la popularité de Java et les développeurs JavaScript ont profité de cette circonstance. Les deux langages empruntent certains éléments de syntaxe à la famille de langages C, mais ont par ailleurs peu de points communs. Q : JavaScript est donc le meilleur moyen de créer des pages dynamiques ? Qu’en est-il des solutions basées sur Flash ? R : Il fut un temps où Flash était considéré comme la technologie de choix pour créer des pages Web interactives et plus dynamiques, mais depuis lors, l'industrie a clairement commencé à s'orienter vers le standard HTML5 avec JavaScript. Et avec HTML5, JavaScript est désormais le langage de script standard pour la programmation Web. Actuellement, des efforts et de l'argent importants sont consacrés à l'amélioration de la vitesse et de l'efficacité de JavaScript, ainsi qu'à la création d'API JavaScript qui étendent les fonctionnalités du navigateur. Q : Vous dites que de nombreux autres langages compilent. Qu'est-ce que c'est et pourquoi n'est-il pas en JavaScript ? R : Dans les langages de programmation traditionnels – C, C++ ou Java – le code est compilé avant exécution. Le processus de compilation convertit le code en une représentation lisible par machine (et généralement optimisée en termes de vitesse). Les langages de script sont interprétés, ce qui signifie que le navigateur exécute chaque ligne de JavaScript dès qu'il la rencontre. Pour les langages de script, les performances d’exécution ne sont pas aussi importantes ; ils se concentrent davantage sur la construction de prototypes, la programmation interactive avec une flexibilité maximale. C'était le cas avec les premières versions de JavaScript, et pour cette raison, la vitesse d'exécution du code était assez médiocre pendant de nombreuses années. Cependant, il existait une option intermédiaire : un langage interprété et compilé à la volée. Il a été choisi par les développeurs de navigateurs pour les implémentations JavaScript modernes. Essentiellement, avec JavaScript, vous disposez de toute la commodité des langages de script combinée à la rapidité d’un langage compilé. D’ailleurs, les mots « interpréter », « calculer » et « exécuter » apparaissent fréquemment dans ce livre. Leur signification peut différer selon les contextes, mais pour nos besoins, ils sont pratiquement équivalents. plus 4   41 historique javascript JavaScript, tu as parcouru un long chemin, bébé... JavaScript 1.0 Vous ne vous souvenez peut-être pas de Netscape, mais c'était le premier véritable développeur de navigateurs. Au milieu des années 1990, le marché était extrêmement concurrentiel (notamment de la part de Microsoft) et il était extrêmement important d’ajouter de nouvelles fonctionnalités intéressantes au navigateur. Pour y parvenir, Netscape a créé un langage de script permettant à quiconque d'inclure du code de script dans une page. C'est ainsi qu'est né LiveScript. Il y a de fortes chances que vous n'ayez jamais entendu parler de LiveScript, car au même moment Sun Microsystems introduisait le langage Java et son stock montait en flèche. Pourquoi ne pas profiter du succès de quelqu’un d’autre ? C'est ainsi que LiveScript est devenu JavaScript. Ces langues n’ont-elles rien en commun ? Et alors... Et Microsoft ? Peu de temps après Netscape, elle a créé son propre langage de script, appelé... JScript. Cela ressemblait étrangement à JavaScript. Ainsi commença la guerre des navigateurs. 1995 42  chapitre 1 JavaScript 1.3 Entre 1996 et 2000, le langage JavaScript a continué d'évoluer. Netscape a confié JavaScript pour la normalisation ; ainsi ECMAScript est né. Vous n'avez pas entendu parler d'ECMAScript ? Sachez simplement qu'il s'agit de la définition du langage standard pour toutes les implémentations de JavaScript (navigateur et non-navigateur). Pendant ce temps, les développeurs ont continué à avoir des difficultés avec JavaScript (la guerre des navigateurs battait son plein), même si l'utilisation de JavaScript était de plus en plus répandue. Et tandis que les différences subtiles entre JavaScript et JScript continuaient de tourmenter la vie des développeurs, les deux langages sont devenus de plus en plus similaires au fil du temps. JavaScript avait encore la réputation d'être un "langage pour amateurs", mais cela allait bientôt changer... 2000 JavaScript 1.8.5 Enfin, JavaScript a atteint sa majorité et a gagné la reconnaissance des développeurs professionnels ! Même si certains pourraient dire que tout cela est dû à l'émergence d'un standard robuste (tel que ECMAScript 5), désormais implémenté dans tous les navigateurs modernes, en fait, Google a joué un rôle déterminant dans l'introduction de JavaScript dans l'arène professionnelle. En 2005, Google Maps a montré au monde ce que JavaScript pouvait faire lors de la création de pages Web dynamiques. Les meilleurs esprits dans le domaine de la programmation ont travaillé pour améliorer les interpréteurs JavaScript et augmenter la vitesse d'exécution du code. La syntaxe a généralement peu changé au cours de l'évolution de JavaScript. Malgré tout le bruit entourant sa naissance, JavaScript s’est avéré être un langage puissant et expressif. 2012 première connaissance avec javascript Prenez un crayon dans votre main Voyez à quel point il est facile d'écrire du code JavaScript var price = 28,99 ; remise var = 10 ; Vous ne connaissez pas encore JavaScript, mais vous pouvez probablement au moins avoir une idée générale du fonctionnement de son code. Regardez chaque ligne et essayez de deviner ce qu'elle fait. Écrivez vos réponses. Nous avons fourni une réponse pour vous aider à démarrer. Et si la tâche s’avère ardue, les réponses sont données à la page suivante. Créez une variable de prix et attribuez-lui la valeur 28,99. var total = prix - (prix * (remise / 100)); if (total > 25) ( freeShipping(); ) var count = 10; while (count > 0) ( juggle(); count = count - 1; ) var dog = (nom : "Rover", poids : 35); if (dog.weight > 30) ( alert("WOOF WOOF"); ) else ( alert("woof woof"); ) var circleRadius = 20; var circleArea = Math.PI *(circleRadius * circleRadius); autre solution 4  43 à l'exercice Voyez à quel point il est facile d'écrire le code JavaScript var price = 28.99; remise var = 10 ; var total = prix - (prix * (remise / 100)); if (total > 25) ( freeShipping(); ) var count = 10; while (count > 0) ( juggle(); count = count - 1; ) Prenez un crayon dans votre main Solution Vous ne connaissez pas encore JavaScript, mais vous pouvez probablement au moins deviner approximativement comment fonctionne son code. Regardez chaque ligne et essayez de deviner ce qu'elle fait. Écrivez vos réponses. Nous avons fourni une réponse pour vous aider à démarrer. Donc les réponses. Créez une variable de prix et attribuez-lui la valeur 28,99. Créez une variable de remise et attribuez-lui la valeur 10. Calculez le prix réduit et affectez-le à la variable total. Comparez le total de la variable et 25. Si la variable est supérieure... ...exécutez l'extrait de code freeShipping. Fin de la commande if Créez une variable count et attribuez-lui la valeur 10. Tant que la valeur de count reste supérieure à 0... ...faites quelque chose, puis... ...diminuez le count de 1. Fin de la commande if boucle while Crée une variable chien avec les attributs nom et poids. var chien = (nom : "Rover", poids : 35) ; if (dog.weight > 30) ( alert("WOOF WOOF"); ) else ( alert("woof woof"); ) var circleRadius = 20; var circleArea = Math.PI *(circleRadius * circleRadius); 44  chapitre 1 Si l'attribut poids est supérieur à 30... ...imprimer le message « WOOF WOOF » sur la page web Sinon... ...imprimer le message « woof woof » sur la page web Fin de si/ commande else Créez une variable circleRadius et attribuez-lui la valeur 20. Créez une variable appelée circleArea... ...et attribuez-lui le résultat de l'expression (1256.6370614359173) première introduction à javascript Si vous ne voulez pas vous limiter au normal pages Web statiques, vous ne pouvez pas vous passer de JavaScript. Et c'est vrai. Les pages créées avec HTML et CSS peuvent avoir une belle apparence. Mais une fois que vous aurez appris JavaScript, vous pourrez créer des types de pages entièrement nouveaux. D'ailleurs, il serait plus correct de les considérer non pas comme des pages ordinaires, mais comme des applications ! et tôt Que dis-tu ? "Bien sûr, je le sais très bien, sinon pourquoi devrais-je lire ce livre ?" Nous voulions en fait profiter de l’occasion pour parler un peu de l’apprentissage de JavaScript. Si vous avez déjà une expérience de travail dans un langage de programmation ou de script, vous avez alors une idée approximative de ce qui vous attend. Si vous avez été limité au HTML et au CSS jusqu'à présent, sachez que lorsque vous apprenez un langage de programmation, quelque chose de fondamentalement nouveau vous attend. intello! HTML et CSS effectuent principalement des opérations déclaratives. Supposons que vous déclariez qu'un texte de paragraphe ou tous les éléments de la classe « vente » doivent être colorés en rouge. JavaScript ajoute un nouveau comportement à la page et pour ce faire, vous devez décrire les calculs. Vous aurez besoin d'outils pour décrire diverses opérations : « calculer le score d'un joueur en additionnant les points », ou encore « répéter dix fois l'action suivante » ou encore « lorsque l'utilisateur appuie sur ce bouton, émettre tel ou tel bip, » ou encore « allez sur Twitter, recevez le dernier message et publiez-le sur cette page ». Le langage requis pour résoudre de tels problèmes est très différent du HTML et du CSS. Voyons quoi exactement... plus 4   45 commandes javascript Comment les commandes sont créées Lors de la création de contenu HTML, vous marquez généralement le texte, définissant sa structure ; Pour ce faire, des éléments, attributs et valeurs sont ajoutés au texte : Mocha Caffe Latte

Espresso, lait cuit à la vapeur et sirop de chocolat, comme vous l'aimez.

Lorsque nous travaillons avec HTML, nous marquons le texte pour définir la structure : nous avons ici un exemple : "Donc, il y a un grand titre, suivi d'un paragraphe de texte normal." Avec CSS, les choses sont un peu différentes. Le développeur écrit un ensemble de règles ; chaque règle sélectionne les éléments de la page, puis définit un ensemble de styles pour ces éléments : h1.drink ( ) p ( ) couleur : marron ; avec des sélecteurs Pour CSS, des règles sont écrites qui divisent, définissent p) et k drin (par exemple, h1. L s'appliqueHTM à quelles parties du balisage cette fonctionnalité s'applique-t-elle ? Disons que tous les titres de boissons sont affichés en marron... . ..Et les paragraphes sont affichés dans une police sans empattement. font-family : sans-serif ; Le code JavaScript est constitué de commandes. Chaque commande décrit une petite partie de l'opération effectuée, et l'ensemble des commandes détermine le comportement de la page : Jeu de commandes. var age = 25 ; var name = "Owen" ; if (age > 14) (Chaque commande effectue un petit travail, comme déclarer des variables qui contiendront les valeurs à utiliser. Nous créons une variable pour conserver l'âge (25). Nous aurons également besoin d'une variable pour le nom « Owen ». La valeur de la variable peut être utilisée pour prendre des décisions. L'utilisateur a-t-il plus de 14 ans ? alert("Désolé, cette page est réservée aux enfants ! "); ) else ( ) alert("Bienvenue " + nom + "!"); 46  chapitre 1 Et sinon, nous souhaitons la bienvenue à l'utilisateur par son nom (cependant, dans notre exemple Owen a 25 ans, donc le message n'est pas affiché). Si plus, nous vous informons que l'utilisateur est trop âgé pour cette page. débuter avec javascript Variables et valeurs Vous avez probablement remarqué que les programmes JavaScript utilisent couramment des variables. Les variables sont conçues pour stocker des valeurs. Lesquels? Regardons quelques exemples : var name = "Duke"; uk e » La variable isEligible reçoit la valeur false. Variables, lorsque nivar isEligible = false ; deux valeurs, vrai et faux (vrai/faux), sont dites logiques (ou booléennes). «D gagnants Une variable se voit attribuer une séquence de caractères (cette séquence est appelée chaîne). faux se var gagnants = 2 ; 2 Cette équipe annonce qu'elle déplacera le saule avec le nom gagnants 2. C'est un très bon numéro nommé estEligible En l'honneur du mathématicien George Boole. En plus des nombres, des chaînes et des valeurs logiques, les variables peuvent stocker d'autres données. Nous y reviendrons sous peu, mais quel que soit le type de données, toutes les variables sont créées selon les mêmes règles. Regardons de plus près la déclaration de variable : Une déclaration de variable commence toujours par le mot-clé var. Notez que les valeurs booléennes ne sont pas placées entre guillemets. AUCUNE EXCEPTION! Même si JavaScript ne se plaint pas d'avoir manqué var. Vous comprendrez bientôt pourquoi... Vient ensuite le nom de la variable. var gagnants = 2 ; La commande d'affectation se termine toujours par un point-virgule. Enfin, vous pouvez éventuellement spécifier une valeur initiale pour la variable ; Cela se fait en mettant un signe égal suivi de la valeur. Nous disons « facultatif » car, à proprement parler, vous pouvez créer une variable sans valeur initiale et l'attribuer ultérieurement. Pour ce faire, supprimez simplement l'affectation de la commande : var perdants; Si une variable est déclarée sans signe égal ni valeur, alors vous allez simplement l'utiliser d'une manière ou d'une autre dans le futur. Aucune signification ? Et comment vivre maintenant ?! C'est juste humiliant. perdants plus loin 4   47 mots-clés javascript Attention, mots-clés ! Une variable a un nom et une variable a une valeur. Vous savez également que les variables peuvent stocker des nombres, des chaînes et des valeurs booléennes (et plus encore). Mais comment choisir un nom de variable ? N'importe quel nom fera l'affaire ? Non, mais trouver un nom valide n’est pas difficile. Il suffit de s'assurer que le nom de la variable ne viole pas deux règles simples : 1 Le nom de la variable doit commencer par une lettre, un trait de soulignement ou un signe dollar. 2 Ensuite, des lettres, des chiffres, des traits de soulignement et des signes dollar peuvent suivre – en n'importe quelle quantité. Oh, et encore une chose : ne confondez pas JavaScript et utilisez des mots-clés intégrés tels que var, function ou false comme noms de variables. Ces noms disparaissent également de la liste. Dans ce livre, nous allons examiner quelques mots-clés et comprendre ce qu'ils signifient, mais pour l'instant nous nous limiterons à une courte liste : break delete for let super void case do function new switch while catch else if package this with class enum Implements Private throw rendement const export import protégé vrai continuer s'étend en public essayer débogueur faux instance de retour type de défaut enfin interface statique var souvent Q : R : Qu'est-ce qu'un « mot clé » ? Le mot-clé est un des mots réservés du langage JavaScript. JavaScript utilise ces mots à ses propres fins. Si vous commencez à les utiliser comme noms de variables, vous ne ferez que confondre votre navigateur. 48  chapitre 1 Q : Questions posées Que se passe-t-il si le mot-clé fait partie d'un nom de variable ? Par exemple, puis-je créer une variable appelée ifOnly (c'est-à-dire une variable dont le nom contient le mot-clé if) ? B : Bien sûr que vous le pouvez. Seules les correspondances exactes sont autorisées. Il est souhaitable que votre code soit simple et compréhensible, donc utiliser des noms comme elze n'est pas non plus souhaitable - ils peuvent facilement être confondus avec else. Q : JavaScript est-il sensible à la casse ? En d’autres termes, mavariable et MaVariable sont-elles la même chose ? R : Si vous avez travaillé avec le balisage HTML, vous êtes probablement habitué au fait que les caractères ne sont pas sensibles à la casse ; après tout, pour le navigateur, la balise n'est pas différente de . Mais JavaScript est sensible à la casse dans les noms de variables, les mots-clés, les noms de fonctions... Bref, presque partout. Soyez donc prudent avec l’utilisation des majuscules et des minuscules ! première connaissance avec javascript WEBVILLE T I M E S Comment éviter les erreurs gênantes avec les noms Le choix des noms est large, il existe donc des recommandations extrêmement doubles, nous en donnerons plusieurs Comment ? La vie du dernier dragon. si JavaScript gonfle. De nombreux ennemis, cela vous évitera les lettres kaosto commençant par des majuscules : chaque mot qu'ils utilisent est utilisé et bien que certains noms soient modifiés : de deux oH ea de dD nouveaux, commencez à choisir des noms significatifs. bat y re gi st r» rag on With Fi re. "Nous sommes fiers de ceux qui sont avec _, nous ne recommandons pas la publication par bulletin et Peut-être que les noms de _m en ont assez pour que vous tombiez, à moins que ce ne soit très important pour vous, mais, $ , r et foo créent quelque chose avec flexibilité nominative pour les grades (quand tout va bien et quand le temps est orageux, alors ils seront eux-mêmes utilisés par toute personne qui vous comprendra. Vous aurez des noms). di my gle alors, chn actuellePression et passéExam n'existent pas et d'autres similitudes. Su sche st - Soyez prudent. Les notes sur l'enregistrement des noms sont modernes, mais elles ne seront pas oubliées, mais « G, Attention au registre » est devenu beaucoup plus efficace et fera en sorte que votre code soit distribué en variables blessées. Selon le choix, ce n'est pas clair pour eux. (y compris ceux que nous avons mentionnés plus tard dans les limites de JavaScript) Utilisez également « gem » non seulement pour choisir des noms, mais pour faire attention aux noms provenant de non-scorbats et de registres. » Utilisez n'importe quel nom au début de certains mots. N'oubliez pas : les KO avec _ et $, autorisés uniquement dans des cas particuliers. Vivez simplement, écrivez des noms clairs, gardez un moment à l'écart de la clé dont vous avez besoin pour les choisir pour vous. Les mots nominaux et les variables indiquent toujours la variable, pour $, généralement coupant, commençant Ces variables sont appelées var lorsqu'elles sont déclarées et sont utilisées pour bi- Oh. b A propos de la syntaxe Chaque commande se termine par le symbole « ; ». x = x + 1 ; Un commentaire d'une ligne commence par deux barres obliques (//). Les commentaires fournissent uniquement des informations sur le code pour vous et les autres développeurs. Ils ne sont pas exécutés dans le programme. // Ceci est un commentaire Les espaces supplémentaires sont autorisés (presque partout). x = 2233 ; Les chaînes doivent être placées entre guillemets doubles (ou simples, mais choisissez-en un – soyez cohérent). "C'est vous qui gouvernez !" "Et toi aussi!" Les valeurs booléennes true et false sont écrites sans guillemets. rockin = vrai; Il n'est pas nécessaire d'attribuer une valeur aux variables lorsqu'elles sont déclarées : var width ; JavaScript, contrairement au balisage HTML, est sensible à la casse. En d’autres termes, Counter et counter sont des variables différentes. 4   49 autres exercices de syntaxe DEVENEZ un navigateur Vous trouverez ci-dessous du code JavaScript contenant des erreurs. Imaginez-vous à la place du navigateur et essayez de trouver des erreurs dans le code. Et quand vous avez terminé, regardez les réponses à la fin du chapitre et voyez si vous avez manqué quelque chose. A // Test de blagues var joke = "JavaScript est entré dans un bar..."; Ne vous inquiétez pas encore de ce que fait ce morceau de JavaScript ; essayez simplement de trouver des erreurs dans les variables et la syntaxe. var ditJoke = "false"; var $punchline = "Mieux vaut faire attention à ces points-virgules." var %entage = 20; var result if (toldJoke = = true) ( ​​​​Alert($punchline); ) else ) alert(joke); B\\Movie Night var code postal = 98104 ; var joe"sFavoriteMovie = Forbidden Planet; var movieTicket$ = 9; if (movieTicket$ >= 9) ( alert("Trop!"); ) else ( ) 50  chapitre 1 alert("Nous"allons voir " + joe"sFavoriteMovie); première introduction à javascript Soyez prudent avec les expressions ! Pour exprimer une intention en JavaScript, vous avez besoin d'expressions. Chaque expression est évaluée et le résultat est une valeur. Nous avons déjà vu des expressions dans des exemples de code. Regardons l'expression dans la commande suivante : Commande JavaScript affecte le résultat calculé à la variable total. Le signe * est utilisé pour la valeur de l'article, et / - var total = prix - (prix * (remise / 100)); Notre variable total. Devoir. Et ceci est une expression. Si vous avez déjà suivi un cours de mathématiques, fait un bilan ou payé des impôts, les expressions numériques vous sembleront probablement familières. Si la variable 10 est égale au contenu de la remise - 20, le résultat est 8. C'est égal à cela. Il existe également des expressions de chaîne : "Je" dans une nouvelle ligne "Cher, ces lignes" sont concaténées par concaténation). appelé Lecteur" (une telle opération "Cher " + "Lecteur" + "," est incluse dans la traduction La même chose, mais dans l'expression. Lors du calcul de la roche, la chaîne contenue est « supercalifra "super" + "cali" + youKnowTheRest du résultat devient ilisticexpialidocious. * phoneNumber.substring(0,3) Un autre exemple d'expression qui renvoie une chaîne. Son fonctionnement sera expliqué plus tard, mais pour l'instant, il suffit de dire que l'expression renvoie l'indicatif régional d'un numéro de téléphone. Le résultat d'un calcul peut également être vrai ou faux ; Ces expressions sont dites booléennes (ou logiques). Déterminer si le résultat (vrai ou faux) est obtenu lors de l'évaluation de chacune des expressions suivantes : âge< 14 Если возраст (age) меньше 14, то результат равен true; в противном случае он равен false. Команда проверяет возраст пользователя. cost > = 3,99 animal = = "ours" Si le prix du produit est supérieur ou égal à 3,99, l'expression est vraie. Sinon c'est faux. Ne manquez pas la vente ! Vrai si le nom de l'animal contient le mot « ours ». Le résultat d’une expression peut être une valeur d’un autre type ; nous reviendrons sur ce sujet plus tard. En attendant, il est important de savoir que lors du calcul d'une expression, un certain résultat sera obtenu - un nombre, une chaîne ou une expression logique. Qu'est-ce que cela nous donne ? * La variable youKnowTheRest est supposée contenir la chaîne « fragilisticexpialidocious ». 4  51 autres exercices avec expressions Prenez un crayon dans votre main Prenez un crayon. Pour chacune des expressions données, calculez sa valeur et écrivez-la dans l’espace prévu. ÉCRIVEZ-LE simplement... oubliez les paroles de votre mère sur ce que vous ne pouvez pas écrire dans les livres et écrivez la réponse sur la page ! Vous pouvez vérifier les réponses à la fin du chapitre. Calculateur de température Celsius en Fahrenheit ? (9/5) * temp + 32 expression booléenne. L'opérateur == teste si deux valeurs sont égales. color == "orange" name + ", " + "you"ve won!" yourLevel > 5 Vérifiez : "la première valeur est-elle supérieure à la seconde ?" Vous pouvez utiliser l'opérateur >= pour la condition « la première valeur est-elle supérieure ou égale à la seconde ? (niveau * points) + couleur bonus != "orange" Que se passe-t-il si la variable temp est 10 ? __________ Cette expression est-elle vraie ou fausse si la variable color contient la valeur "rose" ? __________ Et si la valeur est "orange" ? __________ Quelle sera la valeur si le nom de la variable contient la chaîne « Martha » ? __________________________________ Que se passe-t-il si la variable yourLevel = 2 ? ________ Que se passe-t-il si la variable yourLevel = 5 ? ________ Que se passe-t-il si la variable yourLevel = 7 ? ________ niveau de la variable = 5, points = 30 000 et bonus = 3 300. Quel est le résultat du calcul ? ________ Si la variable color contient la chaîne « rose », cette expression sera-t-elle vraie ou fausse ? __________ L'opérateur != vérifie que deux les valeurs ne sont PAS égales. Question de note augmentée ! 1000 + "108" 52  chapitre 1 Il y a plusieurs réponses. Une seule d'entre elles est correcte. Laquelle choisirez-vous ? ______________________ Pour les curieux, Avez-vous remarqué cela dans le devoir l'opérateur = est utilisé, et dans les tests == ? Lorsque vous attribuez une valeur à une variable, utilisez un signe égal =, et lorsque vous vérifiez si deux valeurs sont identiques - deux signes ==. Les programmeurs débutants confondent souvent ces opérateurs. première introduction à javascript while (jongler) ( ) keepBallsInAir(); Opérations répétées Nous sommes souvent amenés à répéter les mêmes opérations : Rincer, cracher, répéter. Mangez une autre cuillerée. Et puis encore. Sortez les bonbons de la boîte jusqu'à ce qu'ils soient partis. Bien entendu, dans les programmes, les opérations doivent également être répétées. JavaScript fournit plusieurs constructions de syntaxe pour réexécuter du code : while, for, for in et forEach. Nous examinerons tous ces types de boucles au fil du temps, mais pour l'instant nous nous concentrerons sur while. Nous avons récemment examiné des expressions qui donnent un résultat booléen (par exemple, scoops > 0). Des expressions comme celles-ci jouent un rôle clé dans les commandes while : Une boucle while commence par le mot-clé while. Une boucle while contient une expression booléenne appelée condition de continuation (ou simplement condition). Si la condition de boucle est vraie, alors tout le bloc de programme est exécuté. while (scoops > "); ) scoops = scoops - 1; Si la condition est vraie, alors après avoir exécuté le bloc de programme, il revient au début de la boucle et tout est répété à nouveau. Si la condition est fausse, la boucle se termine. Qu'est-ce qu'un « bloc de programme » ? All , qui est entouré d'accolades ( ). Et ainsi de suite jusqu'à la fin ! plus 4   53 boucles javascript Comment fonctionne la boucle while Puisque c'est votre première boucle while, prenons un Examinez de plus près son exécution et comprenez parfaitement son fonctionnement. Attention : nous avons ajouté une déclaration pour la variable scoops et l'avons initialisée avec la valeur 5. L'exécution du code commence. Tout d'abord, la variable scoops (cuillères à glace) reçoit la valeur 5. var scoops = 5; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Le programme passe ensuite à la commande while. Lorsque la commande while est exécutée pour la première fois, le programme vérifie d'abord sa condition : est-elle vraie ou fausse ? valeur des cuillères var cuillères = 5 ; Au dessus de zéro? Sans aucun doute! while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Puisque la condition est vraie, l’exécution du bloc de programme commence. La première commande dans le corps de la boucle affiche la chaîne « Another scoop !
" var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); 54  chapitre 1 débuter avec javascript La commande suivante décrémente la valeur actuelle de scoops de 1 et attribue le résultat (4) à la même variable scoops. 1 boule mangée, il en reste 4 ! var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); C'est la dernière commande du bloc. Le cycle revient au début et tout se répète. var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); La condition est à nouveau vérifiée ; cette fois, la variable scoops est 4. Mais même si la valeur des scoops a diminué, elle est toujours supérieure à zéro. Beaucoup plus de scoops var = 5 ; gauche! while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Et encore une fois, la ligne « Un autre scoop ! » s'affiche dans le navigateur.
" var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); suivant 4   55 boucle while en javascript La commande suivante décrémente la valeur actuelle de scoops de 1 et attribue le résultat (3) à la même variable scoops. var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); C'est la dernière commande du bloc ; le programme revient à l'état et tout se répète à nouveau. var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); La condition est à nouveau vérifiée, la variable scoops est égale à 3. Elle est toujours supérieure à zéro. Balles autres var scoops = 5 ; resté! while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Le navigateur reçoit à nouveau la chaîne « Un autre scoop !
" var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); 56  chapitre 1 2 balles parties, 3 restantes ! première connaissance de javascript Tout continue encore et encore : à chaque exécution de la boucle, les scoops sont réduits de 1, la ligne suivante s'affiche dans le navigateur et le programme entre dans le cercle suivant. 3 boules mangées, il en reste 2 ! var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Et ça continue... 4 boules mangées, il en reste 1 ! var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); Jusqu'à la dernière fois... mais maintenant, quelque chose a changé. La variable scoops est nulle et la condition est fausse. C'est là que ça se termine ; la boucle ne doit plus être exécutée. Cette fois, le programme parcourt le bloc et exécute la commande qui le suit. 5 boules mangées, il en reste 0 ! var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); La commande suivante exécute document.write et imprime la ligne « La vie sans glace n’est pas la même ». Prêt! var cuillères = 5 ; while (scoops > 0) ( document.write("Un autre scoop !
"); scoops = scoops - 1; ) document.write("La vie sans glace n'est pas la même"); 4   supplémentaires 57 commandes javascript conditionnelles if (cashInWallet > 5) ( order = « Amusez-vous bien : cheeseburger, pommes de terre et coca » ; ) else ( order = « Et je prendrai un verre d'eau » ; ) Prendre des décisions en JavaScript Vous J'ai déjà vu comment une expression conditionnelle est utilisée pour décider si la boucle while doit continuer à s'exécuter. Les expressions booléennes peuvent également être utilisées pour prendre des décisions dans les commandes JavaScript utilisant if. L'instruction if exécute son bloc de programme uniquement si la condition testée est vraie. Exemple : ceux-ci sont suivis de si, suivi de quoi. lyu ok K condition grammaticale bl etc. Cette condition vérifie s'il reste moins de trois boules de glace. si (scoops< 3) { } alert("Ice cream is running low!"); И если осталось меньше трех, выполняется программный блок команды if. Функция alert получает строку и выводит ее во всплывающем окне браузера. Попробуйте! Команда if позволяет последовательно выполнить несколько проверок; для этого добавляется одна или несколько секций else if: одно условие, если оно Сначала проверяется оверяется другое, не выполняется, то пр if (scoops >= 5) ( spécifié dans if/else: alert("Mangez plus vite, la glace va fondre!"); ) else if (scoops< 3) { } alert("Ice cream is running low!"); 58  глава 1 Добавьте столько дополнит ельных проверок “else if”, сколько вам нужно; с каждым условием связывается свой програ ммный блок, выполняющийся в случае его истинности. первое знакомство с javascript А если нужно принять МНОГО решений... Вы можете объединить сколько угодно команд if/else. Также можно добавить завершающую секцию else; если ни одно условие не выполняется, вы сможете обработать и эту ситуацию, как в следующем примере: if (scoops > = 5) (On vérifie d'abord s'il reste cinq boules de glace ou plus... alert("Mangez plus vite, la glace va fondre!"); ...Ou s'il reste exactement trois boules. .. alert(" La glace commence à manquer ! "); ) else if (scoops = = 3) ( ) else if (scoops = = 2) ( alert("J'y vais une fois!"); ...Ou s'il y en a 2, 1 ou 0 scoops restants ... Dans chaque cas, le signal correspondant est émis. ) else if (scoops = = 1) ( alert("J'y vais deux fois!"); ) else if (scoops = = 0) ( If aucune des conditions précédentes n'est vraie, alors ce code sera exécuté : alert("Gone!"); ) else ( ) Q: A: alert("Il reste encore beaucoup de glace, venez la chercher."); Foire aux questions Qu'est-ce qu'un « bloc logiciel » ? Au niveau syntaxique, un bloc de programme (généralement simplement appelé bloc) est un ensemble d'instructions - une ou plusieurs - entourées d'accolades. Toutes les commandes d'un bloc forment un groupe qui est exécuté comme une seule unité. Par exemple, si la condition while est vraie, alors toutes les commandes du bloc seront exécutées. Cela s'applique également aux blocs if ou else if. Q : J'ai vu du code dans lequel la condition est constituée d'une variable, et cette variable ne contient même pas une valeur booléenne, mais une chaîne. Comment travaille-t-il ? R : Ce sujet est abordé un peu plus tard, mais en un mot : JavaScript est assez flexible quant à ce qu'il considère comme des valeurs vraies ou fausses. Par exemple, toute variable contenant une chaîne (non vide) est considérée comme vraie, et une variable à laquelle aucune valeur n'a encore été affectée est considérée comme fausse. Attendez, nous examinerons ce problème en détail bientôt. Q : Vous avez dit que le résultat d’une expression peut être autre chose que des nombres, des chaînes ou des booléens. Quoi exactement? R : Pour l'instant, nous nous limiterons aux types primitifs : nombres, chaînes et valeurs booléennes. Mais au fil du temps, nous aborderons des types plus complexes : tableaux (ensembles de valeurs), objets et fonctions. Q : D'où vient le nom « booléens » (un autre nom pour les valeurs booléennes) ? R : Cela vient du nom de George Boole, un mathématicien anglais, créateur de la logique booléenne. plus 4   59 divertissement avec des aimants Divertissement avec des aimants Des aimants avec des fragments d'un programme JavaScript sont mélangés. Pouvez-vous les mettre afin d'obtenir un programme JavaScritp fonctionnel qui produit le résultat ci-dessous ? Avant de continuer la lecture, vérifiez les réponses à la fin du chapitre. Placez les aimants en place pour créer un programme JavaScript fonctionnel. document.write("Joyeux anniversaire cher " + nom + ",
"); document.write("Joyeux anniversaire.
"); var i = 0; i = i + 1; var name = "Joe"; ) document.write("Joyeux anniversaire à toi.
"); alors que je< 2) { Расставьте магниты в этой области. 60  глава 1 Восстановленная программа должна выдавать этот результат. первое знакомство с javascript Привлекайте пользователя к взаимодействию со страницей Мы говорили о том, как важно повысить уровень интерактивности страниц и что для этого необходимо взаимодействие с пользователем. Это взаимодействие можно организовать несколькими способами; некоторые из них уже встречались вам. Ниже приведена краткая сводка таких взаимодействий, а потом мы рассмотрим их более подробно. Создание сигнала Браузер поддерживает простейший механизм оповещения пользователей при помощи функции alert. Вызовите alert со строкой, содержащей сообщение, и браузер выведет ее в симпатичном диалоговом окне. Честно говоря, мы немного злоупотребляли этой функцией, она очень проста и удобна; но ее следует применять только тогда, когда вы действительно хотите, чтобы пользователь отложил все дела и немедленно ознакомился с вашим сообщением. Прямая запись в документ Эти три способа встречаются в данной главе. Веб-страницу можно рассматривать как документ (именно так ее называет браузер). Функция document.write позволяет вывести произвольную разметку HTML и контент в произвольной точке страницы. Так поступать не рекомендуется, хотя время от времени этот способ все же применяется. Мы воспользовались, потому что он достаточно прост для изучения JavaScript. Вывод на консоль В каждой среде JavaScript существует консоль, на которую можно выводить сообщения из программного кода. Чтобы вывести сообщение на консоль, вызовите функцию console.log и передайте ей строку (вскоре мы рассмотрим работу с консолью более подробно). Функция console.log - отличный инструмент диагностики и отладки. Впрочем, в нормальной программе вывод на консоль спрятан от пользователя, так что данный механизм вряд ли можно назвать эффективным. Консоль - удобный инструмент для поиска ошибок в коде! Если вы ошиблись при вводе (например, пропустили кавычку), JavaScript обычно выводит на консоль описание ошибки, которое упростит ее поиск. Непосредственная модификация документа Основной способ взаимодействия со страницей и пользователями - средства JavaScript, позволяющие обращаться к разметке веб-страницы, читать и изменять ее содержимое, даже изменять структуру и стиль! Все эти операции выполняются через объектную модель документа (см. далее). Как вы вскоре убедитесь, это лучший вариант взаимодействия с пользователем. Однако для работы с объектной моделью документа необходимо знать структуру страницы и программный интерфейс, используемый при чтении и записи страницы. Вскоре мы доберемся до этой темы, но сначала нужно освоить еще немного JavaScript. Заветная цель, к которой мы стремимся. Достигнув ее, вы сможете читать страницу, изменять ее и выполнять любые манипуляции с ее содержимым. дальше 4   61 сравнение средств вывода javascript Кто и что делает? ае ае Все средства взаимодействия явились на маскарад. Удастся ли вам узнать их под масками? Соедините описания справа с именами в левом столбце. Мы провели одну линию за вас. document.write Я немедленно останавливаю то, чем занимается пользователь, и выдаю короткое сообщение. Чтобы двигаться дальше, пользователь должен нажать «OK». console.log Я умею вставлять небольшие фрагменты разметки HTML и текста в документ. Может, я и не самый элегантный способ передачи информации пользователю, но зато я работаю во всех браузерах. alert С моей помощью вы сможете полностью управлять вебстраницей: получать данные, введенные пользователем, изменять разметку HTML и стили, обновлять содержимое страницы. объектная модель документа 62  глава 1 Я существую исключительно для решения простых задач отладки, и позволяю выводить информацию на специальную консоль, предназначенную для разработчиков. первое знакомство с javascript Близкое знакомство с console.log Давайте разберемся, как работает функция console.log. Мы воспользуемся ею в этой главе для про­ смотра результатов выполнения кода, в других главах книги - для анализа и отладки выходных данных. Но не забывайте, что консоль остается скрытой от большинства рядовых веб-пользователей, поэтому использовать ее в окончательной версии веб-страницы нежелательно. Вывод на консоль обычно используется для диагностики в процессе разработки страницы. Кроме того, консоль помогает увидеть, что происходит в вашем коде, в процессе изучения основных конструкций JavaScript. Вот как это происходит: Берем любую строку... var message = "Howdy" + " " + "partner"; console.log(message); ...и передаем ее console.log. Строка выводится на консоли браузера. Консоль содержит все данные, которые выводятся вызовами console.log в вашем приложении. часто В: Задаваемые вопросы Я понимаю, что console.log может использоваться для вывода строк, но что это вообще такое? Почему “console” и “log” разделены точкой? О: Хороший вопрос. Мы немного забегаем вперед, но рассматривайте консоль как объект, выполняющий различные операции (консольные). Одна из таких задач - вывод данных на консоль. Чтобы приказать консоли выполнить эту операцию, мы используем синтаксис “console.log” и передаем выводимое значение в скобках. Помните об этом; объекты будут намного подробнее рассматриваться в этой книге. А пока достаточно просто уметь использовать console.log. В: А консоль умеет делать что-нибудь еще, кроме обычного вывода? О: Да, но чаще она используется для обычного вывода. Существует еще несколько способов использования вывода (и консоли), но они относятся к специфике конкретных браузеров. Консоль поддерживается всеми современными браузерами, но не определяется ни в одной формальной спецификации. В: О: Все это, конечно, хорошо, но



Êtes-vous prêt à faire un pas en avant dans la programmation Web et à passer de la mise en page HTML et CSS à la création de pages dynamiques à part entière ? Alors il est temps de vous familiariser avec le langage de programmation le plus « en vogue » : JavaScript !
Avec ce livre, vous apprendrez tout sur JavaScript, des variables aux boucles. Vous comprendrez pourquoi différents navigateurs réagissent différemment au code et comment écrire du code universel pris en charge par tous les navigateurs. Vous verrez pourquoi vous n'aurez jamais à vous soucier de l'encombrement des pages ou des erreurs de transfert de données avec le code JavaScript. Ne vous inquiétez pas, même si vous n'avez jamais écrit une seule ligne de code auparavant - grâce au format unique de présentation du matériel, ce livre vous guidera facilement tout au long du parcours d'apprentissage : de l'écriture d'un script simple à la création de scripts complexes. des projets Web qui fonctionneront dans tous les navigateurs modernes.
Une particularité de cette publication est sa manière unique de présenter le matériel, qui distingue la série « Head First » d’O’Reilly des nombreux livres ennuyeux sur la programmation.

Dans des eaux inconnues

première connaissance avec javascript

JavaScript ouvre des possibilités fantastiques. JavaScript, le principal langage de programmation du World Wide Web, vous permet de définir un comportement avancé dans les pages Web. Oubliez les pages sèches, ennuyeuses et statiques qui prennent de la place sur votre écran : avec JavaScript, vous pourrez
interagir avec les utilisateurs, réagir aux événements, recevoir et utiliser des données d'Internet, afficher des graphiques... et bien plus encore. Avec une bonne connaissance de JavaScript, vous pouvez même programmer un comportement complètement nouveau dans vos pages.

Et rassurez-vous, vos connaissances seront recherchées. JavaScript est désormais non seulement l'un des langages de programmation les plus populaires, mais il est également pris en charge par tous les navigateurs modernes (et de nombreux navigateurs non modernes) ; De plus, il existe des implémentations intégrées de JavaScript qui existent séparément des navigateurs. Mais assez parlé. Il est temps de passer aux choses sérieuses !

Comment fonctionne JavaScript 38
Comment écrire du code JavaScript 39
Comment inclure du code JavaScript à la page 40
JavaScript, tu as parcouru un long chemin bébé... 42
Comment sont créées les équipes 46
Variables et valeurs 47
Attention aux mots-clés ! 48
Soyez prudent avec vos expressions ! 51
Exécution répétée des opérations 53
Comment fonctionne la boucle while 54
Prise de décision en JavaScript 58
Et si vous devez prendre BEAUCOUP de décisions... 59
Engager l'utilisateur à interagir avec la page 61
Un examen plus approfondi de console.log 63
Comment ouvrir la console 64
Nous écrivons une application sérieuse en JavaScript 65
Comment ajouter du code à une page ? (compter les chemins) 68
Balisage et code : chemins divergents 69

L'étape suivante

vrai code

Vous savez déjà ce que sont les variables, les types, les expressions... et ainsi de suite. Vous savez déjà quelque chose sur JavaScript. De plus, les connaissances sont suffisantes pour commencer à écrire de vrais programmes qui font quelque chose d'intéressant que quelqu'un utilisera. Il est vrai que vous manquez d’expérience pratique en écriture de code, et nous allons commencer à résoudre ce problème dès maintenant. Comment? Commençons simplement par écrire un jeu simple, entièrement implémenté en JavaScript. La tâche est de grande envergure, mais nous avancerons vers l’objectif progressivement, étape par étape. Alors passons aux choses sérieuses, et si vous souhaitez soudainement utiliser notre développement dans vos projets, cela ne nous dérange pas, gérez le code comme bon vous semble.

Des fonctionnalités pour tout le monde

familiarisation avec les fonctions

Dans ce chapitre, vous maîtriserez votre première super capacité. Vous savez déjà quelque chose sur la programmation ; Il est temps de passer à l'étape suivante et de maîtriser l'utilisation des fonctions. Les fonctions vous permettent d'écrire du code qui peut être réutilisé dans différentes situations ; un code nettement plus facile à maintenir ; code qui peut être résumé et donné un nom simple afin que vous puissiez oublier les détails banals et vous concentrer sur les choses qui comptent vraiment. Vous verrez que les fonctions ouvrent non seulement la porte aux compétences du programmeur, mais jouent également un rôle clé dans le style de programmation JavaScript. Dans ce chapitre, nous commencerons par les bases : les mécanismes et les tenants et aboutissants du fonctionnement des fonctions, puis nous passerons le reste du livre à améliorer vos compétences fonctionnelles. Alors commençons par les bases... dès maintenant.

mettre de l'ordre dans vos données

JavaScript peut fonctionner avec bien plus que des nombres, des chaînes et des booléens. Jusqu'à présent, nous avons travaillé exclusivement avec des primitives - des chaînes simples, des nombres et des booléens (comme "Fido", 23 et vrai). Vous pouvez faire beaucoup de choses avec les types primitifs, mais à un moment donné, vous aurez besoin de données étendues pour représenter tous les articles d'un panier, toutes les chansons d'une liste de lecture, un groupe d'étoiles et leurs grandeurs, ou un catalogue entier. de produits. De telles tâches nécessitent des fonds plus importants. Un outil typique pour représenter de telles données homogènes est un tableau JavaScript. Dans ce chapitre, vous apprendrez à placer des données dans un tableau, à les transmettre et à les utiliser. Les chapitres suivants examineront d'autres façons de structurer les données, mais nous commencerons par les tableaux.

Voyage à Objectville

rencontrer : objets

Jusqu'à présent, nous avons utilisé des primitives et des tableaux. Et il utilisait une méthodologie de programmation procédurale avec des commandes, des conditions, des boucles for/while et des fonctions simples. Cette approche était loin des principes de la programmation orientée objet. En fait, cela n’avait rien à voir avec la programmation orientée objet. Nous avons utilisé des objets de temps en temps (sans même que vous le sachiez), mais nous n'en avons pas encore écrit. Il est temps de quitter la ville procédurale ennuyeuse et de commencer à créer vos propres objets.
Dans ce chapitre, vous découvrirez pourquoi les objets améliorent considérablement nos vies, du moins en matière de programmation. Sachez simplement ceci : une fois habitué aux objets, vous ne voudrez plus y retourner. Oh, et n'oubliez pas d'envoyer une carte postale lorsque vous vous installez.

Modèle DOM

interaction avec une page Web

Vous avez fait des progrès significatifs dans l’apprentissage de JavaScript. En fait, vous êtes passé d'un débutant dans le domaine de la programmation de scripts à... un programmeur. Cependant, il manque quelque chose : pour utiliser pleinement vos compétences JavaScript, vous devez être capable d'interagir avec une page Web dans laquelle
votre code est localisé. Ce n'est que dans ce cas que vous pourrez écrire des pages dynamiques qui répondent aux actions de l'utilisateur et se mettent à jour après le chargement. Comment interagir avec la page ? Grâce au modèle objet de document DOM (Document Object Model). Dans ce chapitre, nous examinerons le DOM et les principes généraux de travail avec ce modèle à partir de JavaScript pour améliorer les capacités de la page.

Types sérieux

types, égalité, conversions et tout ça

Il est temps de parler sérieusement des types. L’un des avantages de JavaScript est qu’un débutant peut aller assez loin sans avoir à se plonger dans les détails du langage. Mais pour vraiment maîtriser une langue, obtenir une promotion au travail et faire quelque chose qui en vaut vraiment la peine, vous devez être bon en dactylographie. Vous souvenez-vous de ce que nous avons dit à propos de JavaScript : que le langage n'avait pas le luxe d'une définition académique évaluée par des pairs ? Oui, c’est vrai, mais le manque de formation universitaire n’a pas arrêté Steve Jobs et Bill Gates ; cela n'a pas non plus interféré avec JavaScript. Cela signifie que le système de types de JavaScript est... eh bien, disons simplement qu'il n'est pas le plus sophistiqué, et qu'il contient de nombreuses bizarreries. Mais ne vous inquiétez pas, dans ce chapitre nous allons tout détailler et vous pourrez bientôt
contournez tous ces moments désagréables avec des types.

Création de l'application

ensemble

Préparez vos outils pour le travail. Oui, votre boîte à outils comprend vos nouvelles compétences en programmation, votre connaissance du DOM et même quelques connaissances en HTML et CSS. Dans ce chapitre, nous allons tout rassembler pour créer notre première application Web à part entière. Des jeux assez primitifs avec un seul navire placé sur une seule ligne. Dans ce chapitre nous allons construire la version complète : un grand terrain de jeu, plusieurs vaisseaux, une saisie utilisateur directement sur la page web. Nous allons créer la structure de la page de jeu en balisage HTML, appliquer un style visuel à l'aide de CSS et écrire du code JavaScript qui définit le comportement du jeu. Préparez-vous : dans ce chapitre, nous allons nous lancer dans une programmation complète et sérieuse et écrire du code sérieux.

Gestion des événements

programmation asynchrone

Dans ce chapitre, vous devez atteindre un niveau fondamentalement nouveau. Jusqu'à présent, nous avons écrit du code qui s'exécute généralement de haut en bas. Bien sûr, il utilisait des fonctions, des objets et des méthodes, mais l’exécution suivait un chemin pré-planifié. C'est dommage que nous devions annoncer cette nouvelle dans la seconde moitié du livre, mais cette structure de code n'est pas typique de JavaScript. La plupart du code JavaScript est écrit pour gérer des événements. Quels événements ? Oui, n'importe lequel. L'utilisateur clique sur la page, les données proviennent du réseau, un timer se déclenche dans le navigateur, des changements se produisent dans le DOM... Cette liste n'est pas exhaustive. De plus, des événements se produisent constamment dans le navigateur et passent largement inaperçus. Dans ce chapitre, nous reconsidérerons notre approche de la programmation et découvrirons pourquoi nous devons écrire du code qui répond aux événements.

Fonctions illimitées

fonctionnalités de première classe

Apprenez les fonctionnalités et la brillance. Chaque métier, art et discipline a un principe fondamental qui sépare le joueur moyen du véritable professionnel. Et lorsqu'il s'agit de JavaScript, la marque de compétence est une bonne compréhension des fonctions. Les fonctions jouent un rôle fondamental en JavaScript, et de nombreuses techniques utilisées pour concevoir et organiser le code reposent sur une bonne connaissance des fonctions et la capacité de les utiliser. Façon d'apprendre les fonctions à ce sujet
Le niveau est intéressant et stimulant, alors préparez-vous... Ce chapitre est un peu comme faire une visite de la chocolaterie de Willy Wonka : vous verrez beaucoup de choses étranges, folles et merveilleuses en explorant les fonctions JavaScript.

Fonctionnalités sérieuses

fonctions anonymes, portée et fermetures

Nous avons beaucoup appris sur les fonctions, mais ce n'est pas tout. Dans ce chapitre, nous irons plus loin et comprendrons les sujets que les professionnels traitent habituellement. Vous apprendrez à utiliser les fonctions de manière très efficace. Le chapitre ne sera pas trop long, mais il sera assez intensif, de sorte qu'à la fin du chapitre, votre code JavaScript sera plus expressif que prévu. Vous serez également prêt à reprendre le code d'un collègue ou à explorer une bibliothèque JavaScript open source, car nous apprendrons également quelques idiomes et conventions courants liés à l'utilisation de fonctions. Et si vous n'avez jamais entendu parler de fonctions et de fermetures anonymes, alors c'est le meilleur endroit pour en savoir plus !

Création d'objets

création non triviale d'objets

Jusqu'à présent, nous créions les objets manuellement. Pour chaque objet, un littéral d'objet a été utilisé, qui spécifiait chaque propriété. Pour les petits programmes, cela est acceptable, mais pour
Le code sérieux aura besoin de quelque chose de mieux, à savoir des constructeurs d'objets. Les constructeurs facilitent la création d'objets et vous pouvez créer des objets à l'aide d'un seul modèle. En d'autres termes, les constructeurs vous permettent de créer une série d'objets ayant les mêmes propriétés et contenant les mêmes méthodes. Le code écrit à l'aide de constructeurs est beaucoup plus compact et réduit le risque d'erreurs lors de la création d'un grand nombre d'objets. Nous vous assurons qu'après avoir étudié ce chapitre, vous utiliserez les constructeurs comme si vous l'aviez fait toute votre vie d'adulte.

Objets forts

utilisation de prototypes

Apprendre à créer des objets n’est que le début. Il est maintenant temps de faire travailler vos muscles en apprenant des outils avancés pour définir les relations entre les objets et partager du code. En outre, nous aurons besoin de mécanismes pour agrandir les installations existantes. En d'autres termes, nous avons besoin
développez votre boîte à outils pour travailler avec des objets. Dans ce chapitre, vous verrez que JavaScript possède un modèle objet assez puissant, mais il est légèrement différent du modèle des langages orientés objet traditionnels. Au lieu des systèmes classiques basés sur des classes orientés objet, JavaScript utilise un modèle prototype : des objets qui peuvent hériter et étendre le comportement d'autres objets. Quel avantage cela vous apporte-t-il ? Vous le saurez bientôt. Alors, mettons-nous au travail...

Télécharger à partir du stockage de fichiers gratuit

Résolvez le captcha pour accéder aux liens !

15
Août
2016

Apprentissage de la programmation JavaScript (Eric Freeman, Elizabeth Robson)

ISBN : 978-5-496-01257-7, la tête la première O"Reilly
Format : PDF, OCR avec erreurs
Éric Freeman, Elizabeth Robson
Année de fabrication : 2015
Genre : Langages de programmation
Éditeur : Pierre
langue russe
Nombre de pages : 640
Description : Êtes-vous prêt à faire un pas en avant dans la programmation Web et à passer de la mise en page HTML et CSS à la création de pages dynamiques à part entière ? Alors il est temps de vous familiariser avec le langage de programmation le plus en vogue : JavaScript !
Avec ce livre, vous apprendrez tout sur le langage JavaScript, des variables aux boucles. Vous comprendrez pourquoi différents navigateurs réagissent différemment au code et comment écrire du code universel pris en charge par tous les navigateurs. Vous verrez pourquoi vous n'aurez jamais à vous soucier de l'encombrement des pages ou des erreurs de transfert de données avec le code JavaScript. Ne vous inquiétez pas, même si vous n'avez jamais écrit une seule ligne de code auparavant - grâce au format unique de présentation du matériel, ce livre vous guidera facilement tout au long du parcours d'apprentissage : de l'écriture d'un script simple à la création de scripts complexes. des projets Web qui fonctionneront dans tous les navigateurs modernes.
Une particularité de cette publication est la manière unique de présenter le matériel, qui distingue la série "Head First" d'O'Reilly des nombreux livres ennuyeux sur la programmation.


26
Juillet
2017

Apprendre JavaScript. Un guide pour créer des sites Web modernes (Ethan Brown)

ISBN : 978-5-9908463-9-5, 978-1-491-91491-5

Auteur : Ethan Brown
Année de sortie : 2017
Genre : Programmation
Éditeur : Williams
langue russe
Nombre de pages : 363
Description : Il est maintenant temps d’apprendre JavaScript. Avec la sortie de la dernière spécification JavaScript, ECMAScript 6.0 (ES6), apprendre à créer des applications de haute qualité dans ce langage est plus facile que jamais. Ce livre présente aux programmeurs (amateurs et professionnels) la spécification ES6 ainsi que certains des outils et techniques associés de manière simple...


23
juin
2007

Genre : Programmation
Auteur : Khomonenko A.D.
Pays Russie
Nombre de pages : 252
Description : Contient une présentation systématique des techniques de base de la programmation dans le langage
C++ : description des types de données, déclaration des variables, organisation des branches et boucles, description et utilisation des tableaux, pointeurs, fonctions. Les concepts et techniques de programmation orientée objet sont considérés. La technologie de développement de programmes dans l'environnement Borland C++ Builder est décrite.
Format : PDF


08
Août
2012

PHP, JavaScript, JQuery, CSS, HTML, MySQL, POO. Une courte collection de questions et réponses possibles pour un entretien. (Andreï Chevtchenko)

Format : PDF, eBook (à l'origine sur ordinateur)
Auteur : Andreï Chevtchenko
Année de fabrication : 2012
Genre : Ouvrages de référence, manuels scolaires
Éditeur: NeisstonPub
langue russe
Nombre de pages : 57
Description : L'idée d'écrire ce livre m'est venue après que, alors que je préparais mon premier entretien pour le poste de développeur PHP, je n'ai pas trouvé de « tutoriel » sensé qui contiendrait les questions et les tâches les plus courantes posées à de tels entretiens. Mais avez-vous besoin de vous préparer d’une manière ou d’une autre ? Nécessaire. Sinon, ils demanderont alors en quoi MyISAM diffère d'InnoDB ou ce qu'est un filtre jQuery comme $("a...


18
Octobre
2010

Programmation Ruby (Hal Fulton)


Editeur : M., DMK Press ISBN : 5-94074-357-9
Année de fabrication : 2007
Genre : Programmation
langue russe
Nombre de pages : 688
Description : Ruby est un langage orienté objet relativement nouveau, développé par Yukihiro Matsumoto en 1995 et empruntant certaines fonctionnalités aux langages LISP, Smalltalk, Perl, CLU et autres. Le langage se développe activement et est utilisé dans divers domaines : de l'administration système au développement de sites Web dynamiques complexes. Le livre est un guide complet de Ruby - il peut être utilisé à la fois comme manuel et comme...


11
Octobre
2012

Programmation C++ (4e édition) (Walter Savich)


Auteur : Walter Savich
Année de fabrication : 2004
Genre : Programmation
Éditeur: Addison-Wesley
langue russe
Nombre de pages : 784
Description : Le livre contient des informations complètes sur le langage de programmation C++. En plus des sujets « standards » tels que les déclarations de variables, les instructions de sélection, les boucles, les tableaux, les fonctions, etc., l'utilisation de vecteurs, les tableaux multidimensionnels dynamiques, la gestion des exceptions, les pointeurs et la surcharge d'opérateurs sont également traités en détail. Les exemples et les tâches de travail indépendant contenus dans chaque chapitre aideront le lecteur à consolider et...


26
Août
2010

Programmation en C# (Collection de livres n°2) (divers)

ISBN : 5-94074-409-5
Format : PDF, OCR sans erreurs
Année de fabrication : 2008
Auteur : Gornakov S.G.
Genre : Programmation pour téléphones mobiles
Éditeur: DMK Press
Nombre de pages : 512
Description : Il s'agit de la deuxième édition du livre populaire. La nouvelle version de la publication contient neuf chapitres supplémentaires. Désormais, en plus de programmer des applications pour la plateforme Java 2 ME, le lecteur apprendra le processus complet de création d'un jeu mobile. Tout en travaillant avec le livre, vous maîtriserez l'approche de création d'un moteur de jeu mobile à part entière, travaillerez avec des graphiques et des animations et donnerez des exemples de cartes de jeu multicouches et animées. Considérer...


22
Avr
2018

Programmation d'applications réseau en C++. Volume 1 (Douglas S. Schmidt, Stephen D. Huston)

ISBN : 978-5-9518-0362-7
Format : JPG, pages numérisées
Auteurs : Douglas S. Schmidt, Stephen D. Houston
Année de fabrication : 2009
Genre : Programmation
Éditeur : Binom
langue russe
Nombre de pages : 304
Description : Le livre présente l'une des approches les plus prometteuses de la programmation professionnelle d'applications réseau en C++. Les principales raisons de la complexité du développement d'applications réseau sont discutées, ainsi que les modèles de conception et le middleware open source ACE IIO, qui peut être téléchargé gratuitement sur Internet et est l'un des plus portables et...


05
Déc
2009

Jasmine Blanchett, Mark Summerfield. Programmation GUI en C++

ISBN : 978-5-91136-059-7
Format : DjVu, OCR sans erreurs
Année de fabrication : 2008
Auteurs : Jasmine Blanchette, Mark Summerfield
Genre : Programmation
Éditeur: Kudits-Press
Nombre de pages : 736
Description : Le livre est une édition augmentée et corrigée du livre « Qt4 : GUI Programming in C++ », très demandé sur le marché russe, publié en 2007. La nouvelle édition a apporté des modifications liées à l'utilisation des fonctionnalités apparues dans les versions 4.2 et 4.3 de Qt, ajouté de nouveaux chapitres consacrés à la mise en place du dialogue avec l'utilisateur et à la création de scripts d'application, et revu les principes de base...


24
mais je
2008

Gornakov S.G. - Programmation de téléphones mobiles sur J2ME

Format : DjVu, Pages numérisées
Année de fabrication : 2005
Auteur : Gornakov S.G.
Genre : Tutoriel J2ME
Éditeur : DMK
Nombre de pages : 331
Description : un livre assez bon et compréhensible sur la programmation pour téléphones mobiles en Java


03
Juillet
2016

Programmation C pour les débutants. 4e édition (Mike McGrath)

ISBN : 978-5-699-79117-0
Format : PDF, eBook (à l'origine sur ordinateur)
Auteur : Mike McGrath
Traducteur : M. Reitman
Année de fabrication : 2016
Genre : Littérature informatique, programmation
Éditeur: Eksmo
Série : Programmation pour débutants
langue russe
Nombre de pages : 192
Description : Ce livre explique tous les aspects clés du langage C à l'aide d'exemples de programmes et d'illustrations montrant les résultats du code. Ce livre décrit même comment installer un compilateur gratuit pour le langage C et travailler dessus, vous allez simplement pas la possibilité de faire des erreurs ! Le livre est idéal pour les programmeurs...


25
mais je
2010

Éditeur : Pierre
Langue de l'interface : russe uniquement
Médicament : non requis
Description : Ce livre est destiné à l'auto-apprentissage de la programmation en JavaScript. En plus des conseils généraux, il contient de nombreux exemples et textes de programmes prêts à l'emploi. Explique comment créer des scripts pour les sites Web et les scripts exécutés par Windows Scripting Host. Les annexes fournissent des informations générales sur JavaScript et HTML. Le livre s'adresse aussi bien aux débutants qu'à ceux qui ont déjà une certaine expérience en matière de conception et de programmation Web. Dans le deuxième et...

11
Août
2012

JavaScript. La Bible de l'utilisateur (5e édition) (Danny Goodman, Michael Morrison)

ISBN : 5-8459-1027-7
Format : PDF, pages numérisées
Auteurs : Danny Goodman, Michael Morrison
Année de fabrication : 2006
Genre : Programmation
Editeur : Dialectique
langue russe
Nombre de pages : 1179
Description : Ce livre s'adresse à un large éventail de lecteurs - concepteurs de sites Web qui ont décidé d'étudier le langage JavaScript en détail. Il a toutes les chances de remporter le titre de guide de référence complet sur JavaScript non seulement aux yeux de ses développeurs, mais aussi dans le cœur des utilisateurs. La publication décrit en détail presque tous les outils de développement de scripts JavaScript utilisés dans les logiciels modernes et obsolètes...


17
Août
2012

Apprendre Ruby (Michael Fitzgerald)

ISBN : 978-5-9775-0225-2, 978-0-596-52986-4 ;
Format : DjVu, Pages numérisées
Auteur : Michael Fitzgerald
Année de fabrication : 2008
Genre : Programmation
Éditeur : BHV-Pétersbourg
langue russe
Nombre de pages : 336
Description : Le livre est un guide pour créer des applications Web dans Ruby. L'étude s'appuie sur des exemples pratiques, dont la liste figure sur presque chaque page. Les bases de Ruby sont données, les instructions conditionnelles, les chaînes et expressions régulières, les opérateurs, les fonctions, les tableaux, les hachages, l'utilisation de fichiers et les classes sont pris en compte. Décrit le traitement XML, la réflexion, la métaprogrammation,...


Vous souhaitez toujours acquérir des connaissances complètes dans le domaine dans lequel vous travaillez. JavaScript est l'un des langages sur lesquels il est presque impossible d'acquérir des connaissances complètes. Il est en constante évolution, tout comme le web en général, tout développeur web doit donc s'efforcer de suivre cette évolution, et plus encore doit connaître par cœur les bases de la technologie qu'il utilise.

JavaScript domine désormais le monde informatique. Avec lui, vous pouvez soit créer une petite application web, soit programmer un robot. Heureusement, le langage existe depuis assez longtemps et les développeurs qui le maîtrisent avec excellence ont décrit leur expérience de programmation dans des livres.

Ce livre vous explique comment faire en sorte que les ordinateurs fassent ce que vous voulez qu'ils fassent. Les ordinateurs d'aujourd'hui sont aussi courants que les tournevis, mais ils contiennent beaucoup plus de complexités cachées et sont donc plus difficiles à comprendre et à utiliser. Pour beaucoup, ils restent des choses étrangères, légèrement menaçantes. Le livre est également disponible en russe.

Ce livre fournit un aperçu complet du monde de JavaScript à travers les objets intégrés et les nuances du langage. Ce livre n'est certainement pas destiné aux personnes qui commencent tout juste à apprendre la programmation en général et JavaScript en particulier.

Ce livre couvre les modèles de programmation JavaScript classiques et modernes. En général, il s’adresse aux programmeurs débutants.

HTML5 offre de grandes opportunités. JQuery aussi. Tout comme Node.JS. Si vous leur ajoutez un peu plus de JavaScript pur, vous pourrez facilement conquérir le Web.

Ce livre est destiné à ceux qui envisagent de créer des applications Web à l'aide de JS. Il décrit les fonctionnalités du langage, les outils utiles, les modèles, et la liste ne se limite pas à cela.

Ce livre vous donnera une connaissance générale de JavaScript, comprenant à la fois sa logique générale et ses détails. L'auteur suppose que le lecteur connaît déjà les principes de la programmation orientée objet et un langage tel que PHP, Ruby, Python, C++ ou Java.

Êtes-vous prêt à aller plus loin dans votre pratique de la programmation Web et à passer du codage en HTML et CSS à la création de pages dynamiques à part entière ? Alors il est temps de vous familiariser avec le langage de programmation le plus en vogue : JavaScript !

Après avoir lu ce livre, vous apprendrez tout sur le langage JavaScript : des variables aux boucles. Vous comprendrez pourquoi différents navigateurs réagissent différemment au code et comment écrire du code universel pris en charge par tous les navigateurs. Vous comprendrez pourquoi JS est l’avenir et deviendrez un véritable développeur front-end.

Ce livre vous montre comment écrire des applications frontales en JS sans utiliser de frameworks ou de bibliothèques tiers.

En plus d'une connaissance générale des principes JavaScript, ce livre vous donnera également des connaissances sur des domaines connexes, tels que JSON ou NoSQL, ainsi qu'une compréhension de la manière dont les applications Web sont écrites en général.

Comme le titre l'indique, ce livre concerne le développement d'applications d'une seule page. Il ne décrit pas de technologies ni de cadres spécifiques, mais il décrit bien les modèles et pratiques généraux.

Le livre est dédié à l'utilisation du DOM (Document Object Model) - peut-être la chose la plus importante en JavaScript pour tous les développeurs Web.

Ce livre, écrit par Douglas Crockford, le créateur de JSON et JSLint, est un classique du monde JavaScript que tout le monde devrait lire. Il couvre les bases de l’approche orientée objet et fournit de nombreux exemples, bons et mauvais. Bien entendu, l’auteur explique comment corriger de tels exemples « nuisibles » et comment éviter de telles erreurs.

Cette série, écrite par le célèbre professeur Kyle Simpson, se compose de 6 livres, chacun couvrant une section différente de la langue. Le principal avantage de ces livres est qu’ils sont suffisamment courts pour que vous n’ayez pas le temps de vous laisser distraire. Et vous pouvez acheter le livre « ES6 and Beyond » de cette série en version papier en russe.

JavaScript est le principal outil des développeurs Web qui vous permet de rendre les pages Internet interactives, dynamiques et d'obtenir les performances les plus élevées. Il s'agit d'un guide bien structuré de JavaScript qui vous permettra d'apprendre rapidement ce langage pas le plus simple à apprendre, mais très populaire. Une grande attention est accordée à la bibliothèque jQuery dans le livre. Il existe également de nombreux exemples et tâches détaillées.

Après avoir lu le guide complet, vous serez en mesure de :

  • Rendez les pages de votre site Web interactives.
  • Maîtrisez la dernière version du plugin jQuery UI.
  • Créez des formulaires pratiques avec validation et correction automatiques des données.
  • Utilisez la technologie AJAX.
  • Approfondissez vos connaissances dans le domaine et devenez un professionnel.

Après avoir appris les bases de la mise en page, vous souhaiterez certainement plus d'interactivité et de beauté, ainsi que des moyens plus pratiques pour que le site puisse interagir avec le backend. C'est à ce moment-là que JavaScript est entré dans l'arène avec le framework jQuery incroyablement populaire. Pour commencer à travailler avec le livre, vous n'avez besoin d'aucune connaissance approfondie - vous en tirerez tout. Seules les dernières pratiques dans le domaine de la compatibilité entre navigateurs et de l'optimisation des pages sont présentées ici, et la présentation est dans un langage clair avec des exemples et des illustrations clairs.

Un livre déjà devenu un classique. Sa dernière édition couvre HTML5 et ECMAScript 6 – les technologies les plus pertinentes aujourd'hui. Il ajoute également de nouveaux chapitres sur jQuery et JavaScript côté serveur. Ce guide sera utile aussi bien aux débutants complets qu'à ceux qui souhaitent perfectionner leurs connaissances en JavaScript.