5 Syntaxe du langage JavaScript est un langage interprété, ce qui signifie que la vérification syntaxique de votre programme ne se fera que lors de l’exécution de celui-ci par le navigateur. JavaScript est un langage qui s’est beaucoup inspiré, pour la syntaxe, des langages C et Java. Attention toutefois car bien que commençant par le mot Java, JavaScript n’est ni un sur-ensemble ni un sous-ensemble de Java. JavaScript est un langage complet, qui comporte des instructions permettant : – de mettre des commentaires, – de créer des variables, – d’effectuer des boucles de traitement, – d’effectuer des tests conditionnels – de créer des fonctions (sous-programmes), – d’utiliser des tableaux d’éléments, – d’utiliser des objets, – d’utiliser des opérateurs (typeof, instanceOf, ==, …), – d’utiliser des expressions régulières. De même, JavaScript comporte un certain nombre d’objets standards, ainsi que des bibliothèques de classes permettant de les manipuler (ceci sera vu à la section "Classes d’objets de base", page 109). Insertion de commentaires dans le code JavaScript Les commentaires s’utilisent sous la forme suivante : /* ceci est un commentaire qui tient sur plusieurs lignes */ // ceci est un commentaire qui tient sur une seule ligne ! Cette syntaxe vient du C et Java. 78 Chapitre 5 – Syntaxe du langage Création de variables Une particularité de JavaScript est que c’est un langage où les variables n’ont pas de type particulier. Vous pouvez initialiser une variable comme étant un nombre, puis l’utiliser comme étant une chaîne de caractères ! La syntaxe pour déclarer une variable est de la faire précéder par le mot clé var. Bien que ceci soit recommandé, ce n’est pas indispensable : toute variable utilisée (une première fois) non précédée de var est considérée comme étant une variable globale au programme, même si cette variable est définie dans une fonction ! Ceci peut être très dangereux, et en tout cas ce n’est pas de la bonne programmation. En effet, une variable globale au programme se déclare en tête du programme, au début de l’exécution et non pas au milieu d’une fonction. Donc nous recommandons de toujours faire précéder la première utilisation d’une variable du mot clé var, que la variable soit globale au programme ou locale à une fonction. Voici des exemples de variables : Fichier test4.html <html> <head> </head> <body> <script> document.write ("Déclaration de variables et utilisation \ dans un 1er script"); document.write ("<br>"); var x = 5; document.write ("x = " + x); document.write ("<br>"); x = "coucou"; document.write ("x = " + x); document.write ("<br>"); var y; y = new Object y.x = x; document.write document.write document.write document.write (); ("y = " + y); ("<br>"); ("y.x = " + y.x); ("<br>"); var z; document.write ("z = " + z); document.write ("<br>"); Création de variables 79 </script> <script> document.write ("<br>"); document.write ("Utilisation des mêmes variables \ dans un 2ème script"); document.write ("<br>"); document.write document.write document.write document.write document.write document.write ("x = " + x); ("<br>"); ("y = " + y); ("<br>"); ("y.x = " + y.x); ("<br>"); z = y.x + 5; document.write ("z = " + z); document.write ("<br>"); </script> </body> </html> Dans le programme qui précède, nous avons créé deux blocs de script. Dans le premier bloc, nous créons et affichons des variables, dans le deuxième nous utilisons ces variables en les affichant. Le résultat de ce programme est : 80 Chapitre 5 – Syntaxe du langage Nous pouvons déjà faire les conclusions suivantes : – éclarée dans un bloc de script est utilisable dans un autre bloc de script. Elle est considérée comme étant une variable globale. – Le type d’une variable n’est pas figé : x peut valoir 5, puis "coucou". De même, z est initialisée par "coucou" + 5 (une chaîne + un entier !). – On crée un objet par new Object () (on y reviendra), puis on crée de nouvelles propriétés à cet objet rien qu’en utilisant la propriété de l’objet ! – Une variable déclarée (var z;) mais non initialisée vaut undefined. Il est clair, rien qu’à voir ce qui est écrit ci-dessus, que Java et JavaScript ne se ressemblent que de très loin ! Boucles de traitement Comme en C et Java, nous avons presque les mêmes types d’instruction. while () Voici un exemple d’utilisation : Fichier test5.html <html> <head> </head> <body> <script> var i = 0; while (i < 10) { document.write (i + " "); i++; } </script> </body> </html> Le résultat est le suivant :