11545 sujets

JavaScript, DOM et API Web HTML5

Salut à tous !

J'ai un petit souci concernant un break en JS. Voici mon type de script

for([...])
{

if(toto == variable)
{
break;
}

}//Fin For

En fait je voudrais que si ma condition est vrai, je quitte ma boucle for. Seulement, si je l'écris comme ça, le break me fait quitter le if, donc ça sert à rien. Comment pourrais-je faire ?

Merci pour vos réponses Smiley cligne
Bonsoir,

Une méthode pas très propre mais simple : si ta condition est vérifiée, place ton compteur de boucle à la valeur maximale+1 : tu finiras l'itération puis en sortiras

for (var i=0;i<max;i++)
{
  if (blable)
    {
      i=max+1;
    }
}


Modifié par Gilles (16 Nov 2008 - 17:49)
Euh... un break ne fait pas sortir du if, cette instruction ne peut que faire sortir d'une boucle.

Pour t'en convaincre : http://www.laruiss.org/tests/testBreak.html

Par contre, si tu as une boucle dans une boucle, et que le break dans la boucle interne, break sort de la boucle interne, et pas de la boucle principale.

Si c'est ton problème, c'en est un autre, et il y a une autre solution.

@+