Lors de la création de JavaScript avec ASP.NET MVC, j'ai remarqué plusieurs avertissements d'étendue et j'ai réalisé qu'il me manquait quelque chose avec la compréhension de la portée variable dans l'instruction switch/case.Quelle est la portée de la variable JavaScript dans une instruction switch/case?
Attention: 'i' est déjà défini référant à la jurisprudence b et C
Mon code ressemble à ceci:
switch(element) {
case 'a':
for(var i=0; i < count; i++){
do something
}
break;
case 'b':
for(var i=0; i < count; i++){
do something
}
break;
case 'c':
for(var i=0; i < count; i++){
do something
}
break;
}
Je pensais que la portée est terminée par chaque instruction break mais il semble cette portée ne se termine pas jusqu'à la fin de l'interrupteur/boîtier. Est-ce que la portée pour l'ensemble du commutateur/boîtier?
Oui. Je dois m'endormir sur celui-ci parce qu'à première vue, il semblait juste. Mais la joie pour les avertissements du compilateur de me faire savoir quand je me suis endormi. Merci pour cette excellente réponse. –
Notez que dans les langages C-like (pas Javascript), vous pouvez créer une portée vous-même après le cas si vous souhaitez: 'case 1: {...} ' – hugomg
FYI, de nos jours la syntaxe ES6 permet la définition de bloc, donc la création d'une portée après cas serait possible –