case
split.s
- javascript
Hallo,
besteht die Möglichkeit bei switch-case-Anweisungen auch mehrere Fallmöglichkeiten für case anzugeben?
Bsp.:
switch (fall) {
case 1,3,8:
...
case 2:
...
usw.
oder macht man sowas mit einem anderen Trick?
Ich habe nämlich relativ viele Fallmöglichkeiten (ca. 70 stk.)
[latex]Mae govannen![/latex]
Hallo,
besteht die Möglichkeit bei switch-case-Anweisungen auch mehrere Fallmöglichkeiten für case anzugeben?
Bsp.:
switch (fall) {
case 1,3,8:
...
case 2:
...usw.
~~~javascript
switch(fall) {
case 1:
case 3:
case 8:
...
break;
case 2:
...
break;
case 4711:
...
break;
}
Cü,
Kai
Supi!
Bei so kompetenten Antworten sei mir noch eine weitere kleine Frage gestattet:
Warum funktioniert bei mir nur case "1" (also nur mit Anführungszeichen), aber nicht: case 1
Zur Erklärung: Der Wert fall stammt aus einer Benutzereingabe die mittels Ajax übertragen wurde.
Hallo,
Warum funktioniert bei mir nur case "1" (also nur mit Anführungszeichen), aber nicht: case 1
Bei switch wird Typ und Wert überprüft. Es wird quasi der Operator === beim Vergleich verwendet.
"1" erzeugt einen String-Wert, 1 einen Number-Wert. Wenn du einen String-Wert hast - was du offenbar der Fall ist, wenn nur case "1" funktioniert -, dann kannst du nicht case 1 schreiben, weil eben Typ und Wert verglichen werden. Die Typen unterscheiden sich halt (String vs. Number).
Zur Erklärung: Der Wert fall stammt aus einer Benutzereingabe die mittels Ajax übertragen wurde.
Was du aus Formularfeldern oder per prompt() ausliest, ist ein String - sofern du ihn nicht ausdrücklich z.B. mit parseInt in einen Number-Wert umwandelst.
Mathias
Hallo split.s,
oder macht man sowas mit einem anderen Trick?
Jop so isses:
switch (fall) {
case 1: case 3: case 8:
...
break;
case 2:
...
break;
}
Man macht sich schlicht und ergreifend die Tatsache zu nutzen, dass die Schleife nicht endet, wenn man kein break angibt!
Lg Niko