Tutoriels Trucsweb
          

 

Niveau : INTERMÉDIAIRE (Consulté 13,172 fois)
Compatibilité : Tous les navigateurs

  Ajouter aux favoris  Envoyer à un ami  Version imprimable

Boucles de programmation en Javascript

Énoncé For, for…in et while

   par Django (Oznog) Blais, Trucsweb (26 Janvier 2001)


Avec les tests de conditions, les boucles sont en programmation ce que les « stacks » sont à l’informatique. Hein! Tout simplement que les boucles sont à la base de la programmation. Aucun programme ni aucun langage peut s’en passer. On peut faire des miracles avec les boucles, tout particulièrement avec les boucles récursives. Vous pouvez avoir un code passablement long converti en une simple boucle.

L'énoncé " For "
Le " For " a ceci de particulier, il est construit comme le " for " du langage C. Il permet, comme tout bon " for…next ", de boucler ou de passer x fois un traitement selon une ou plusieurs conditions. En anglais " loop ".

Construit en trois expressions optionnelles entre parenthèses et séparées par des points virgule, suivit par un " bloc " de traitement exécuté à chaque boucle.

Syntaxe :
For ([expression initiale]; [condition]; [ajustement de l'expression]) {
  Bloc de traitement
}

  • expression initiale : Généralement utilisé pour initialiser une variable compteur. Vous pouvez déclarer une nouvelle variable avec le mot réservé " var ". Optionnel.

  • condition : La condition est évaluée à chaque passage de la boucle. Si la condition est vraie " true ", le bloc de traitement sera exécuté. Si la condition est fausse " false " alors la boucle est terminée sans exécuter le bloc de traitement. Le test de condition est optionnel. S'il n'est pas présent, alors la condition sera toujours vraie et le bloc de traitement toujours exécuté.

  • ajustement de l'expression : Généralement utilisé pour ajuster ou incrémenter la variable compteur. Optionnel.

Exemple :
La boucle " For " suivante débute par déclarer la variable i et de l'initialiser à zéro. Ensuite le test de condition vérifie que la variable i est plus petite que 5, si la variable i est plus petite que 5 alors le bloc de traitement {n += i} est exécuté. Puis l'ajustement de la variable i incrémente celle-ci de 1.

x = 0;
for (var i =0; i < 5; i++) {
  x += i
}

Résultat Passage 1 : x = 0
Passage 2 : x = 1
Passage 3 : x = 3
Passage 4 : x = 6
Passage 5 : x = 10
Passage 6 : sortie x = toujours 10

 

Interruption de la boucle avec l'énoncé " BREAK "
L'énoncé " break " permet de sortir d'une boucle sans considération des conditions de la boucle.

Exemple :
x = 0;
for (var i =0; i < 5; i++) {
 if (i == 3)
   break 
 x += i
}

Résultat : x = 3
Si " x += i " avait été placé avant l'énoncé break, x aurait égalé 6.

 

Interruption dans la boucle avec l'énoncé " CONTINUE "
L'énoncé " continue " permet de sortir de l'exécution d'un bloc de traitement mais la boucle continue.

Exemple:
x = 0;
for (var i =0; i < 5; i++) {
 if (i == 3)
  continue 
 x += i
}

Résultat :
Passage 1 : x = 0
Passage 2 : x = 1
Passage 3 : x = 3
Passage 4 : x = 3
Passage 5 : x = 7
Passage 6 : sortie x = toujours 7

 

L'énoncé " For…in "
Une boucle simple qui permet de passer les propriétés d'un objet.

Syntaxe :
for (var in objet) {
  Bloc de traitement
}

Exemple :
// Fonction pour initialiser les valeurs d'un objet.
function personne(nom, age, sex) {
  this.nom = nom
  this.age = age
  this.sex = sex
}
// Initialisation de l'objet "elle"
elle = new personne("aline", 26, "F")

for (var i in elle){
  n = elle[i]
  document.write(n);
}

Résultat : aline26F

 

L'énoncé " While "
Exécute une boucle et un le bloc de traitement qu'elle contient tant et aussi longtemps que le test de condition est vraie " true ".

Syntaxe :
while (condition) {
  Bloc de traitement
}

Exemple :
y = 0
x = 0;
while( y < 5 ){
  y ++; x += y
}

Résultat :
Passage 1 : x = 1
Passage 2 : x = 3
Passage 3 : x = 6
Passage 4 : x = 10
Passage 5 : x = 15
Passage 6 : sortie x = toujours 15

Les énoncés " break " et " continue " peuvent être utilisés avec l'énoncé " while " voir l'exemple plus haut avec l'énoncé " For ".

 

ATTENTION
Il peut être risqué de travailler à la légère avec des boucles. Une boucle infinie peut surcharger le serveur.

NOTE sur les opérateurs Javascript utilisés dans ce tutoriel
(x += y) = (x = x + y)
(x++) = ( x = x + 1)

 Début de la page


TrucswebTrucsweb


Fil d'info Trucsweb


 
sp

Hébergement de qualité!

partenaire
Rechercher un tutoriel!
 
recherche avancée
Abonnez-vous!

 

Save the Net

 
sp
 C O M M A N D I T E S 
sp






 
sp
 T U T O R I E L S 
sp
· ASP / VBscript
· C/C++
· CSS
· DHTML
· CGI / Perl
· HTML
· Java/JSP
· Javascript
· PHP
· SSI
· WAP/WML
· XML/XSL
· Infographie
· Flash et Shockwave
· Audiovisuel
· Images gratuites
· Hébergement
· Analyses de logiciels
· Internet et Protocoles
· Veille intégrée
· Référencement
· Sécurité
· Outils gratuits
 
sp
 F O R U M S 
sp
· Forum Javascript
· Forum HTML/CSS
· Forum ASP/VBScript
· Forum Flash
· Tous les forums
 
sp
 S E R V I C E S 
sp
Generateur Trucsweb
· Générateur
· Répertoire
· Logithèque
· Glossaire
· Forum
· Nouveautés Dev Zone
· Ajouter un site
· Ajouter un logiciel
· Ajouter un tutoriel
· Fil d'info sur votre site
· Tester votre site
 
sp
 A P P L I C A T I O N S 
sp
· twCompteur 1.0 Nouveau
· twCalende 1.0 Nouveau
· twLiMenu 1.0 Nouveau
· twValide 2.2 sp
· twAliste 1.0 sp
· twASPDate 2.0 sp
· twASPLivre 1.0 sp
 
sp
 R É F É R E N C E S 
sp
· W3C HTML 4.0
· W3C XHTML 1.0
· Web Design Group
· W3C SMIL 2.0
· W3C XML 1.0
· XML Cover Pages
· W3C CSS LEVEL 2
· Netscape Javascript 1.5
· Netscape Javascript 1.4
· Netscape Javascript 1.3
· Netscape DHTML
· Gecko DOM ref.
· IE DHTML
· VBScript Language Ref.
· JScript Language Ref.
· ASP Object Quick Ref.
· ADO API Reference
· Microsoft IIS5
· MSDN Library
· RFC Editor Site
· HTML 4.0 code de caractères
· Unicode fonts
· Manuel PHP
· Documentation Perl
· Perl 5 Reference Guide
· Flash actionscript FAST
· ActionScript dictionary
· MySQL Manual
· SQL Pro (F. Brouard)
· Java Language Spec.
· Java 2 SDK Doc. V1.3.1
· JavaServer Pages Ref.
· C/C++ Language Ref.
· Python Library Reference
· Les Navigateurs
· Terminologie d'Internet
· Traduction
· Traduction systran
· Traduction d'interface client
· Extensions de fichiers
· Virus Wildlist
· Virus Alerts
 
sp
 D O M A I N E S 
sp
iWeb

iWeb
 
sp
 C O P Y R I G H T  
sp

 

accueil | tutoriels | logithèque | répertoire | forum



© 1997-2006
Django (Oznog) Blais
Rivière-du-Loup, Québec
Ajouter à votre Sidebar  RSS 1.0
 
Conception Oznog co. Multimédia


Hit-Parade    Tout navigateurs   

171 visiteurs