II. Syntaxe
II-A. Instructions - Conditions - Boucles
II-B. Scripts dans l'en-tête du fichier HTML
II-C. Scripts externes
II-D. Commentaires
II-E. Objets internes
II-F. Accolades
II-G. Variables
II. Syntaxe
II-A. Instructions - Conditions - Boucles
Il est fortement recommandé de terminer l'ensemble des instructions JavaScript par un point virgule (même si, en effet, ce n'est pas toujours nécessaire).
Les instructions ci-dessous ne se terminent pas par un point virgule :
Les définitions de fonctions |
function maFonction ()
{
. . . . . . . . . . . . . . .
}
|
Les conditions |
if (var1= = var2)
{
. . . . . . . . . . . . . . .
}
else
{
. . . . . . . . . . . . . . .
}
|
Syntaxe des conditions :
- égalité : == (cette syntaxe est également utilisée pour comparer deux chaînes de caractères)
- différent de : != (même remarque que ci-dessus)
- inférieur ou égal à : =<
- supérieur ou égal à : >=
- inférieur à : <
- supérieur à : >
- et logique : &&
- ou logique : ||
- identique à : ===
- non identique à : !==
- et bit à bit : &
- ou bit à bit : |
Les boucles for |
for (i= 0 ; i< 5 ; i+ + )
{
. . . . . . . . . . . . . . .
}
|
Les boucles while |
while (a< b)
{
. . . . . . . . . . . . . . .
}
do
{
. . . . . . . . . . . . . . .
} while (a< b)
|
II-B. Scripts dans l'en-tête du fichier HTML
Tout script est encadré des balises , on précise également le type MIME grâce à l'attribut type :
Script dans l'en-tête du fichier HTML |
DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " " http://www.w3.org/TR/html4/loose.dtd " >
< html >
< head >
< title > Titre< / title >
< / head >
< body >
< / body >
< / html >
|
Les commentaires restent présents pour une raison historique : les premiers navigateurs n'interprétant pas le JavaScript et pour éviter un affichage du texte dans la page web, les scripts étaient encadrés de commentaires.
De plus, omettre les commentaires amènent les validateurs à tenter d'interpréter le code JavaScript comme du HTML, ce qui implique des erreurs de validation non justifiées.
| NB. Ne pas confondre les commentaires HTML et les commentaires JavaScript. |
Ces balises script sont généralement insérées dans le head de la page, ou entre les balises body. Dans ce dernier cas les scripts sont exécutés au fur et à mesure du chargement de la page.
Il est possible d'insérer du code JavaScript dans les balises HTML. Cependant, il faut que le code inséré soif bref pour des questions de lisibilité (dans le cas des événements).
II-C. Scripts externes
On peut enregistrer le script dans un fichier indépendant de la page Web. Dans ce cas, on précise dans le head le lien vers ce fichier. L'avantage est que l'on peut ainsi réutiliser le script pour une autre page.
Lien vers un script externe |
DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " " http://www.w3.org/TR/html4/loose.dtd " >
< html >
< head >
< title > < / title >
< / head >
< body >
< / body >
< / html >
|
II-D. Commentaires
Il existe les commentaires « multilignes » : ils commencent par /* et se terminent par */
et des commentaires sur une ligne : ils débutent par //
| Il semblerait que la présence des accents et des apostrophes dans ces commentaires contribuerait à une mauvaise interprétation des scripts. Cette source d'erreurs peut-être levée en précisant le charset du fichier JavaScript.
De plus, l'utilisation de commentaires multilignes peut perturber l'interprétation dans le cas d'utilisation d'expressions régulières du fait de la présence possible des caractères /* ou */ dans celles-ci. |
II-E. Objets internes
Les objets internes JavaScript commencent par une majuscule : String, Math, Array, Boolean, Date, Number, Function (à ne pas confondre avec le mot-clef function), RegExp, etc...
Les méthodes ainsi que les propriétés d'un objet commencent par une minuscule. Toutes les méthodes internes à JavaScript sont sensibles à la casse (« case sensitive »).
- exemple de méthodes : toLowerCase() ; getElementById() ; charAt() ; fromCharCode() ; etc.
- exemple de propriétés : id ; type ; innerHTML ; tagName ; style ; etc.
L'accès à une méthode ou à une propriété d'un objet se fait en plaçant un point entre le nom de l'objet et la propriété ou la méthode.
var monObjet = document. getElementById (" idObjet " );
monObjet. style. display = " none " ;
|
ou
document. getElementById (" idObjet " ). style. display = " none " ;
|
| NB. Le langage JavaScript est un langage « case sensitive » : les variables, les méthodes, les attributs, les mots-clefs, etc. ont une syntaxe très précise. Le non-respect de cette règle peu conduire à une mauvaise exécution des scripts. |
II-F. Accolades
Plusieurs écoles : les accolades ouvrantes sont placées sur la même ligne que la condition ou la boucle ; ou un retour à la ligne est effectué pour l'accolade ouvrante.
Accolades ouvrantes en fin de ligne |
function maFonction () {
if (test1) {
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
else {
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
for (i= 0 ; i< n; i+ + ){
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
}
|
Accolades ouvrantes après un retour à la ligne |
function maFonction ()
{
if (test1)
{
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
else
{
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
for (i= 0 ; i< n; i+ + )
{
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
}
}
|
On préconisera la seconde syntaxe à la première dans la mesure où elle offre une meilleure lisibilité dans le code.
II-G. Variables
En JavaScript les variables ne sont pas typées. Il faut néanmoins les déclarer grâce au mot clef var. Une variable peut, au cours du programme, être tour à tour un entier, une chaîne de caractères, ou un booléen. Même si cette possibilité de programmation est offerte, il ne faut surtout pas s'y laisser tenter. Une variable doit garder le même type du début à la fin. Et donc ne pas hésiter à créer autant de variables que nécessaire.
A ne pas faire |
var i;
i = 2 ;
i = " bonjour " ;
i = true ;
|
Ce qu'il faut faire |
var i, chaine, bool;
i = 2 ;
chaine = " bonjour " ;
bool = true ;
|
Bannir des noms de variables :
- du genre : truc, machin, toto, bidule... ;
- « kilométriques » : ceciEstLeNomDeMaJolieVariable ;
- avec des accents : maChaîneDeCaractères.
Les variables ne doivent pas être des mots-clefs JavaScript : var, form, int, document, etc..
Aucun commentaire:
Enregistrer un commentaire