Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question cours - Boucle For

Sujet résolu
    14 novembre 2019 à 22:29:42

    Bonjour, j'étais en train d'étudier le cours " Dynamisez votre site web  avec Javascript ", en train de lire la partie sur les boucles. 

    Et je ne comprends pas  ce code : 

    var nicks = '',
        nick;
    
    while (true) {
        nick = prompt('Entrez un prénom :');
    
        if (nick) {
            nicks += nick + ' '; // Ajoute le nouveau prénom ainsi qu'une espace juste après
        } else {
            break; // On quitte la boucle
        }
    }
    
    alert(nicks); // Affiche les prénoms à la suite

    et 

    for (var i = 0, nicks = '', nick; true; i++) {
        nick = prompt('Entrez un prénom :');
      
        if (nick) {
            nicks += nick + ' ';  
        } else {
            break;  
        }	
    }
    
    alert('Il y a ' + i + ' prénoms :\n\n' + nicks);

    Et je ne comprends pas quand on met juste en condition de la boucle " true ". Notamment pour le deuxième code. 

    Car si j'ai bien compris, dans la première partie du for, on initialise les variables qu'on va utiliser dans la boucle, et on peut en initialiser plusieurs. Là par exemple nicks et nick et i. Mais  si en condition on met juste " true " en condition, comment l'ordinateur sait quelle variable doit rester en true ? 

    Car là, on met en condition true, mais c'est la variable nick que l'on veut qu'elle reste en true jusqu'à la fin de la boucle, donc on pourrait mettre en condition nick = true non ? 

    En vous remerciant d'avoir lu ! 



    -
    Edité par Teraplayer 14 novembre 2019 à 22:31:40

    • Partager sur Facebook
    • Partager sur Twitter
      15 novembre 2019 à 0:37:23

      Salut,

      Les variables qui sont initialisées dans la boucle for sont locales à celle-ci.

      Il y a trois paramètres séparés par des points virgules :

      - des variables que l'on peut initialiser.

      - une condition d'arrêt, ici true, ce qui veut dire que l'on ne s'arrête jamais puisque true vaudra toujours lui-même. D'où le break pour sortir de la boucle.

      - une expression qui est évaluée à la fin de chaque tour de boucle. Ici i++ signifie qu'il augmente de 1 à chaque tour.

      Pour répondre à ta question, peut importe ce que tu met en condition, ce sera évalué à chaque tour de boucle. True ne changera jamais, la condition est tout le temps vérifiée, ce qui peut causer des boucles infinies si on se trompe sur la condition d'arrêt (break).

      Je te met un lien vers la doc MDN qui explique très bien. Tu y trouvera beaucoup de choses ;)

      https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/for

      Bon courage pour la suite !

      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2019 à 16:40:12

        Ah je vois merci beaucoup !
        • Partager sur Facebook
        • Partager sur Twitter

        Question cours - Boucle For

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown