continuez ALLWAYS Illégal dans l’interrupteur dans JS mais la pause fonctionne bien

switch ("B") { case "A": break; case "B": continue; case "C": break; default: break; } 

simple code correct en C ++, mais quand il est fait en javascript dans le chrome stable, il jette simplement une erreur “déclaration de poursuite illégale”, on dirait que l’instruction continue est simplement interdite dans le javascript … .. Alors, y a-t-il un moyen de continuer à passer en js?

continue n’a absolument rien à voir avec les switch es, pas en Javascript et pas en C ++ :

 int main() { int x = 5, y = 0; switch (x) { case 1: continue; case 2: break; default: y = 4; } } 

erreur: instruction continue ne pas dans une boucle

Si vous souhaitez sortir de l’affaire, utilisez la break ; sinon, laisser tomber l’affaire:

 switch ("B") { case "A": break; case "B": case "C": break; default: break; } 

Si vous cherchez un raccourci pour passer au cas suivant, non, vous ne pouvez pas le faire.

 switch ("B") { case "A": break; case "B": if (something) { continue; // nope, sorry, can't do this; use an else } // lots of code case "C": break; default: break; } 

Je pense que vous pouvez émuler ce que vous voulez en utilisant une boucle infinie étiquetée:

 var a = "B"; loop: while( true ) { switch (a) { case "A": break loop; case "B": a = "C"; continue loop; case "C": break loop; default: break loop; } } 

Sinon, vous devriez envisager d’exprimer ce que vous voulez d’une autre manière.

Même si vous pouvez retirer cela, ce serait une énorme WTF. Utilisez simplement if else if.

Je pense que vous vouliez dire:

 switch ("B") { case "A": break; case "B": case "C": break; default: break; } 

Il n’y a pas besoin de continue . Quand B arrive, il passera à C.

Un cas de changement sans instruction de break “passera” (comme on l’appelle) à la suivante. Si vous omettez de break , le code se comportera comme vous le pensez, car il s’agit du comportement implicite / par défaut de l’instruction switch.

L’utilisation de l’instruction continue est réservée aux boucles où ce qu’elle fait est en réalité légèrement différent de ce que vous voulez; il interrompra l’itération actuelle de la boucle et passera à la suivante, réévaluant la condition de la boucle.

Continuer ne peut se référer qu’à la boucle. Il ne peut pas être utilisé dans l’instruction switch. Quel comportement attendez-vous de sa part?