Introduction to JavaScript
Chapitre 5




L'utilisation des tableaux est une technique très importante de la programmation. La plupart des langages de programmation les acceptent, au moins d'une certaine façon. Vous êtes peut être déjà mis dans des situations où l'emploi de tableaux se révélait fort utile pour continuer. Mais si vous avez lu la documentation de Netscape vous avez remarqué que les tableaux n'étaient même pas abordés. Le problème c'est l'inexistence de tableaux JavaScript! Mais bien sûr je vais vous montrer comment contourner cette limite!
Tout d'abord, que sont les tableaux? On peut dire que les tableaux sont en quelque sorte composés de variables reliées les unes aux autres. Disons que vous voulez 10 variables. Vous pouvez créer les variables a, b, c ... Ce qui serait fort compliqué à ce stade et plus spécialement si vous voulez stocker 100 variables ou plus. En revanche si vous utilisez un tableau appelé 'MyArray' comportant 10 éléments, vous pourrez indexer chaque élément avec MyArray[1], MyArray[2], MyArray[3]... (beaucoup de langages de programmation commencent avec 0 en tant qu'indice du premier élément, mais pour une utilisation ultérieur avec JavaScript nous ferons en sorte qu'il soit 1). Donc pour stocker le nombre 17 dans le premier élément vous devez écrire MyArray[1]=17. Vous voyez ainsi que l'on travaille avec les tableaux de la même manière qu'avec des variables normales, mais il existe cependant de nouvelles caractéristiques. Si vous voulez stocker 17 dans tous les éléments du tableau, il suffit d'écrire ceci:
for (var i=1;i<11;i++) MyArray[i]=17
L'instruction for indique à l'ordinateur combien de fois l'instruction suivante devra être exécutée. La boucle for commence avec l'indice i= 1. L'ordinateur recevra tout d'abord comme instruction MyArray[1]= 17, puis cet indice i sera incrémenté d'une unité ce qui transformera la commande en MyArray[2]=17. L'indice sera incrémenté jusqu'à la valeur 10. (L'expression i<11 dans la boucle for doit être évaluée à true, si i=11 elle ne l'est plus).
Voici maintenant une fonction initialisant les tableaux. Celle-ci a été débattue dans les listes de diffusion JavaScript.

function initArray() {
      this.length = initArray.arguments.length
      for (var i = 0; i < this.length; i++)
      this[i+1] = initArray.arguments[i]
   }

Il ne vous est pas nécessaire de comprendre cette fonction, mais seulement de savoir l'utiliser. Si vous voulez créer un tableau de 3 éléments, écrivez seulement: var MyArray= new initArray(17,18,19). 17,18,19 étant les valeurs initiales assignées aux éléments 1,2,3. Vous pouvez de même écrire des chaînes de caractères dans votre tableau, vous n'avez même pas à vous soucier du type employé! var heyho= new initArray("Ceci","est","cool"). Mélanger des types différents ne pose aucun problème: var Mixedup= new initArray(17,"yo",103).

Maintenant, je vais initialiser le tableau 'Mixedup', puis en afficher le contenu:

Voici le script d'affichage:

<script language="JavaScript">
<!-- Masque
  var Mixedup= new initArray(17,"yo",103);
  document.write("Elément No. 1: "+Mixedup[1]+"<br>");
  document.write("Elément No. 2: "+Mixedup[2]+"<br>");
  document.write("Elément No. 3: "+Mixedup[3]+"<br>");
// -->  
</script>


Hier j'ai écrit un petit jeu. Je vous en parle parce que j'ai rencontré un problème auquel vous serez confronté un jour ou l'autre, si ce n'est déjà fait. Pour effacer le contenu d'une fenêtre ou d'une frame, vous cherchez dans la documentation de Netscape et vous trouvez la fonction 'document.clear()'. Mais si vous utilisez cette fonction rien ne se produit! Cette fonction semble bloquée quelque soit la plateforme. Gordon McComb m'a donné le script suivant pour effacer la fenêtre comme je le désirais:

     document.close();
     document.open();
     document.write("<P>");

Il n'est pas nécessaire d'écrire document.write("<P>");, il est seulement important de ne rien afficher dans cette fenêtre. Ceci fonctionne aussi bien avec les frames.


Maintenant étudions un script qui nous permettra de naviguer à travers différents documents. Ce dont je parle, ce sont les fonction back() et forward(). Si vous possédez un lien de retour dans votre page, ce n'est pas la même chose que le bouton back de Netscape Navigator. Par exemple, j'ai introduit des liens de retour fonctionnants comme des liens traditionnels, je suppose que l'utilisateur vient très probablement de la page ciblée. Le bouton back de Netscape Navigator revient d'un pas en arrière dans l'historique. Vous pouvez en faire de même avec JavaScript. Emprunter simplement ce lien vous fera revenir en arrière! Le script que j'utilise est détaillé ci-dessous:

<html>
<body>
<FORM NAME="buttonbar">
     <INPUT TYPE="button" VALUE="Précédant" onClick="history.back()">
     <INPUT TYPE="button" VALUE="JS- Home" onClick="location='index.php'">
     <INPUT TYPE="button" VALUE="Suivant" onCLick="history.forward()">
</FORM>
</body>
</html>
Vous pouvez aussi utiliser history.go(-1) et history.go(1).


Sommaire - Chapitre 1 - Chapitre 2 - Chapitre 3 - Chapitre 4 - Chapitre 6 - Chapitre 7

Last changed: 25.février'97 - © 1996 by Stefan Koch - 1997 Traduction de Qaghan