Break en JavaScript
Fermé
C45T0R
-
16 nov. 2008 à 10:29
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 mars 2012 à 22:15
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 13 mars 2012 à 22:15
A voir également:
- Break en JavaScript
- Telecharger javascript - Télécharger - Langages
- Prison break torrent magnet ✓ - Forum Jeux vidéo
- Comment telecharger prison break gratuitement ✓ - Forum Téléchargement
- A javascript error occurred in the main process - Forum Matériel & Système
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
4 réponses
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
16 nov. 2008 à 11:46
16 nov. 2008 à 11:46
@C45STOR : Astuce !
Pour pas se faire avoir avec les tests d'égalité, mets la variable testée à droite. Exemple :
Si jamais tu te plantes, ça donne ça :
Pratique !
@societeserieuse : cool, je croyais être le seul à connaître les labels !!
Sauf que...
1/ tu ne l'as pas mis au bon endroit. On labélise la boucle à casser, donc le bon code serait plutôt :
2/ Même pas besoin de labels. Le if n'est pas considéré comme une boucle... J'en veux pour preuve (flagrante !) ce script que je viens de tester avec succès :
3/ Encore plus fort ! Il suffit de regarder de plus près la syntaxe de for :
Et condition de continuation doit être équivalente à un booléen, mais encore une fois tout est permis !
Dans l'exemple avec toto, on peut donc simplifier à mort, comme ceci :
Admettez que c'est difficile de faire plus concis ;)
Pour pas se faire avoir avec les tests d'égalité, mets la variable testée à droite. Exemple :
if (42 == maValeur)
Si jamais tu te plantes, ça donne ça :
if (42 = maValeur)et ça te renvoie une syntax error avec le numéro de ligne.
Pratique !
@societeserieuse : cool, je croyais être le seul à connaître les labels !!
Sauf que...
1/ tu ne l'as pas mis au bon endroit. On labélise la boucle à casser, donc le bon code serait plutôt :
arrete : for ( ... ) { if (variable == toto) break arrete; }(oui, je ne mets pas d'accolades à if quand il n'y a qu'une instruction, c'est plus clair)
2/ Même pas besoin de labels. Le if n'est pas considéré comme une boucle... J'en veux pour preuve (flagrante !) ce script que je viens de tester avec succès :
for (var i = 0; i < 6; i++) { alert(i); if (2 == i) break; }
3/ Encore plus fort ! Il suffit de regarder de plus près la syntaxe de for :
for (initialisation; condition de continuation; itération)initialisation et itération peuvent être n'importe quelle instruction, je dis bien n'importe laquelle ! Un exemple très joli pour ajouter une fonction de somme aux tableaux :
Array.prototype.sum = function() { for (var i = 0, sigma = 0; i < this.length; sigma += this[i++]); return sigma; }
Et condition de continuation doit être équivalente à un booléen, mais encore une fois tout est permis !
Dans l'exemple avec toto, on peut donc simplifier à mort, comme ceci :
for(var i = 0; i < 6 && variable != toto; i++) { alert(i); /* instructions modifiant toto */ }
Admettez que c'est difficile de faire plus concis ;)
societeserieuse
Messages postés
172
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
3 décembre 2008
7
16 nov. 2008 à 10:42
16 nov. 2008 à 10:42
deja ta condition est fausse
if(toto = variable) a remplacer par if(toto == variable)
et pour le break moi jlorai foutu comme ca :
arrete:
if(toto == variable)
{
break arrete;
}
if(toto = variable) a remplacer par if(toto == variable)
et pour le break moi jlorai foutu comme ca :
arrete:
if(toto == variable)
{
break arrete;
}
societeserieuse
Messages postés
172
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
3 décembre 2008
7
16 nov. 2008 à 12:12
16 nov. 2008 à 12:12
oué c pas faux dsl pour l'erreur :)
9 mars 2012 à 15:45
13 mars 2012 à 22:15
Illisible oui, un peu, je te l'accorde. Mais ça reste dans la mesure. Des boucles écrites de cette manière j'en ai vu pas mal, c'est une syntaxe que les gens utilisent et comprennent.
Et dans certains cas, c'est mieux de mettre la condition d'arrêt en tête de boucle, plutôt que de la perdre au milieu du code !