Ik zit hier met een vaag probleem. Op de een of andere manier krijg ik geen blockstatements binnen een switch niet aan de praat terwijl deze volgens de documentatie wel zouden moeten werken. Er zal vast ergens een heel domme fout zijn, maar ik zie hem gewoon weg niet.
Het probleem:
Ik heb een for-loop met daarbinnen een switch. De for-loop haalt een waarde uit een array en zet deze in een switch statement (string). De switch doet zijn werk, maar zorgt ervoor dat de for-loop onderbroken wordt direct na het uitvoren van het blockstatement. Ik heb hem al op diverse manieren geprobeerd maar steeds niet het gewenste resultaat. Wat wel werkt is als ik de blockstatements weg haal en daar een enkel statement gevolgd door een break neerzet.
Wat ik wil bereiken is dat de loop helemaal afloopt wat er ook gebeurd binnen het switch statement. Binnen de cases van de switch moeten meerdere statements worden afgewerkt. Ik kan hiervoor wel aparte functies defineren maar zodat de blockstatements verwijderd kunnen worden maar dat zorgt er wel weer voor dat het minder leesbaar wordt.
Het probleem:
Ik heb een for-loop met daarbinnen een switch. De for-loop haalt een waarde uit een array en zet deze in een switch statement (string). De switch doet zijn werk, maar zorgt ervoor dat de for-loop onderbroken wordt direct na het uitvoren van het blockstatement. Ik heb hem al op diverse manieren geprobeerd maar steeds niet het gewenste resultaat. Wat wel werkt is als ik de blockstatements weg haal en daar een enkel statement gevolgd door een break neerzet.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| for (i = 0; i < commands.length; i++) { var command = commands[i]; var commandValue = command.attributes.getNamedItem("value").value; switch (commandValue) { case "updateLine": { alert("updateLine"); updateLines(command.getElementsByTagName("line")); break; } case "updateTotal": { alert("updateTotal"); break; } case "findProduct": { alert("findProduct"); break; } } } |
Wat ik wil bereiken is dat de loop helemaal afloopt wat er ook gebeurd binnen het switch statement. Binnen de cases van de switch moeten meerdere statements worden afgewerkt. Ik kan hiervoor wel aparte functies defineren maar zodat de blockstatements verwijderd kunnen worden maar dat zorgt er wel weer voor dat het minder leesbaar wordt.