Premiers pas en JavaScript

2.1 Les commentaires
cuy copyleft
  See You Why?  

 


test introduction (1.9) | | programme (2.2)

Contenu

 

 

I. Commentaires

Le lecteur, qui est sensé avoir des connaissances de base en langage HTML, doit connaître l'instruction qui permet de commenter des portions de code HTML

<!-- me permet de placer un commentaire sur la suite des instructions --> en HTML.

 

  1. définition du commentaire
  2. un exemple en HTML
  3. des commentaires... pourquoi ?
  4. des commentaires en JavaScript... comment ?

 

 

A. définition du commentaire

Non, il ne s'agit pas des commentaires que ferait un prof d'informatique à propos du programme qu'il traite... quoique...

« Les commentaires sont, en programmation informatique, des portions du code source ignorées par le compilateur ou l’interpréteur, car ils ne sont pas nécessaires à l’exécution du programme. »

Et le code source est la forme sous laquelle un programme est créé par un programmeur, dans un langage compréhensible : un ensemble de textes décrivant formellement, étape par étape, les opérations à effectuer, rédigées conformément aux règles d'un langage de programmation.

 

B. un exemple en HTML

Un exemple de commentaire en HTML sans Javascript :
<!-- qui marque le début du commentaire et
--> qui termine le commentaire :

Tout ce qui est compris entre <!-- et --> sera un commentaire, ignoré par le navigateur (ou browser) utilisé pour la lecture des pages HTML.

 

Exemple

<html>
<body>

<TABLE widt=100%>
<!-- début de la définition du tableau -->

    <CAPTION> contenu du titre (caption) </CAPTION>
    <!-- titre du tableau -->

    <TR>
    <!-- début de la ligne (row) d'en-tête -->
        <TH> première en-tête </TH>
        <TH> dernière en-tête </TH>
    </TR>
    <!-- fin de la ligne (row) d'en-tête -->

    <TR>
    <!-- début de la première ligne -->
        <TD width=50%> contenu de première ligne, première cellule </TD>
        <TD width=50%> contenu de première ligne, dernière cellule </TD>
    </TR>
    <!-- fin de la première ligne (row) -->

    <TR>
    <!-- début de la dernière ligne -->
        <TD> contenu de dernière ligne, première cellule </TD>
        <TD> contenu de dernière ligne, dernière cellule </TD>
    </TR>
    <!-- fin de la dernière ligne (row) -->

</TABLE>
<!-- fin de tableau -->


</body>
</html>

Un exemple de page HTML intégrant du Javascript :

 

Exemple

<html>
<body>

<h1>Ma premiere page Web avec Javascript</h1>

<script type="text/javascript">
    document.write("<p>" + Date() + "</p>");
</script>


</body>
</html>

 

 

C. des commentaires... pourquoi ?

Les commentaires peuvent avoir plusieurs utilités pratiques :

Quoi de plus triste qu'une suite de code sans commentaires, où les noms de variables et/ou des fonctions n'ont aucun sens, où l'indentation est inexistante ou mal appropriée ? lequel de ces deux programmes sera le plus lisible... même s'ils exécutent exactement la même chose ?

Le premier :

<script type="text/javascript"><!-- 
function f(i,a){ 
if(!document.getElementById||!document.getElementsByTagName)return; var c=document.getElementById(i),l=c.getElementsByTagName(a); 
if(!l)return;var b=l.length-1;for(b;b>=0;b--){if(!l[b].href) continue;window.alert(l[b].href);} 
//--></script>

Le second :

<script type="text/javascript"><!-- 
 
// Alerte de l'url pour chaque élément d'un conteneur 
function fnRecapLinks(sId, sLink) 
{ 
   // Test des méthodes 
   // si les méthodes DOM ne sont pascomprises par le navigateur
          if(!document.getElementById || !document.getElementsByTagName) 
   { 
      return; 
      // sortie de la fonction
   } 
 
   // Tableau récapitulatif des éléments 'sLink' du conteneur 'sId' 
   // sinon, 'oCont' prend la valeur de l'identifiant transmis à la fonction
   var oCont = document.getElementById(sId); 
   // et 'aLinks' prend la valeur du lien transmis à la fonction
   var aLinks = oCont.getElementsByTagName(sLink); 
 
   if(!aLinks) 
   { 
      return; 
   } 
 
   // Lancement d'un message d'alerte sur chaque item du tableau aLinks 
   var iI = aLinks.length - 1; 
 
   // boucle à indice dégressif
   for(iI; iI >= 0; iI--) 
   { 
      if(!aLinks[iI].href) 
      { 
         continue; 
      } 
      window.alert(aLinks[iI].href); 
   } 
} 
 
//-->
</script>

L'utilisateur, même s'il n'a jamais eu l'occasion de traiter le moindre programme JavaScript, aura plus d'aisance à suivre les étapes de cette fonction... des explications suivront concernant la manière d'encoder des instructions (voir début "instructions"), concernant la création de fonctions en JavaScript (voir "fonctions"), la transmission de paramètres à des fonctions (voir "paramètre" et "paramètres multiples"), concernant la construction de boucles (voir "boucle FOR", "boucle WHILE") et concernant les tests et/ou conditions pour qu'une partie d'un programme s'exécute (voir "condition IF")... et bien d'autres choses encore ;o)

Considérez donc les commentaires comme une aide... de la même façon que l'on emploie des 'post-it' ou des titres et sous-titres dans un développement d'idées...

 

 
 

D. des commentaires en JavaScript, comment ?

Deux manières de noter des commentaires en JavaScript :

Les habitués de la programmation noteront un commentaire sur une seule ligne, derrière une balise // (double slash) éventuellement placée en début de ligne... ainsi, pour la construction du menu permanent du site CUY, on verra des lignes telles que :

//s'exercer ---------------------------------
sitems[2][0]= 'Un test HTML';
sitems[2][1]= 'Requêtes Access SQL';
sitems[2][2]= 'Comptabilité exercices et solutions';

On acceptera aussi le commentaire situé en fin d'instruction (donc après le point-virgule de fin d'instruction [voir plus loin]) ; le double slash suivra donc le point-virgule de fin d'instruction et le commentaire devra s'écrire en fin de ligne... ainsi, dans ce même programme, on lira :

sitemcomm = new Array;
sitemcomm[0] = new Array;//sous menu cours
sitemcomm[1] = new Array;//sous menu telecharger
sitemcomm[2] = new Array;//sous menu s'exercer

Si l'on estime que le commentaire prendra plusieurs lignes, on préférera l'usage des commentaires entre les balises /* et */ (la balise ouvrante /* et la balise fermante */) qui, quel que soit le nombre de lignes, commenceront un commentaire qui pourra se terminer plusieurs lignes plus loin...

Ainsi, avant plusieurs lignes de programmation (toujours relatives au menu permanent qui s'affiche sur toutes les pages du site CUY), on pourrait ajouter le commentaire suivant :

/*
cette partie se compose de plusieurs tableaux (4 tableaux)
chaque tableau permet de renseigner sur le contenu des menus
Tous les tableaux doivent avoir la même dimension [i]

elementMenu[i] contient le texte du menu principal
coord[i] contient les coordonnées en xx d'apparition du sous menu correspondant
sitems[i][z] contient le texte du sous menu
sitemlinks[i][z] contient le lien correpondant au sous menu
sitemcomm[i][z] contient les commentaires des liens du sous menu

pour chaque [i], la dimension [z] de sitems et sitemlinks doit être identique
*/

...les instructions en Javascript suivront alors selon les règles que nous préciserons dans la page "instructions".

IMPORTANT : n'imbriquez jamais de commentaires l'un dans l'autre...
ne faites jamais se chevaucher de commentaires...
c'est la meilleure façon de générer des erreurs de programmation en ôtant ces commentaires...
et n'oubliez pas :
qu'un /* rend tout ce qui suit jusqu'au prochain */ invisible par n'importe quel navigateur ;
qu'un // rend tout le reste de la ligne invisible par n'importe quel navigateur...

... et parfois, pour rendre un programme JavaScript plus difficilement lisible, certains auteurs suppriment certains sauts de lignes... et vive les conséquences désastreuses... un exemple extrait du site eBay en 2002, sans oublier qu'actuellement les techniques de camouflage des sources sont nettement supérieures :

 

 

 

II. programmer

voir suite >>>

 

III. les instructions (info de départ)

voir suite >>>

 

VIII. Exercices relatifs aux commentaires, instructions et programme

voir suite >>>

 

IX. Test relatif aux commentaires, instructions et programme

voir suite >>>


test introduction (1.9) | | programme (2.2)