switch case break
Thomas Schmieder
- javascript
0 Slyh
Hallo an alle sattelfesten Programmierer,
Ich habe im MSIE5.5 (andere habe ich noch nicht ausprobiert) ein Problem mit switch/case/break.
Wenn man das break hinter einem Case-Selector weglässt, wird die Anweisung hinter dem nächsten case-Selector auch ausgeführt, auch wenn der Selector nicht passt.
Ist das so vorgesehen?
Ich erinnere mich so ganz vage, dass bei C trotzdem der Selector geprüft wird - oder? Hab ich wohl was durcheinandergebracht mit Pascal, oder?
Stelle mir das also so nun vor:
durch die Switch-Anweisung wird eine Liste aufgebaut, in der die Einsprungspunkte in die Befehlsliste stehen. Geprüft wird nur ein einziges Mal. Dann in die Befehlsliste verzweigt, sus der man bestenfalls mit break wieder rauskommt, bevor sie zu Ende ist.
Stimmt das nun so?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
Wenn man das break hinter einem Case-Selector weglässt, wird die Anweisung hinter dem nächsten case-Selector auch ausgeführt, auch wenn der Selector nicht passt.
Ja.
Ist das so vorgesehen?
Ja.
Ich erinnere mich so ganz vage, dass bei C trotzdem der Selector geprüft wird - oder?
Nein.
Hab ich wohl was durcheinandergebracht mit Pascal, oder?
Ja.
durch die Switch-Anweisung wird eine Liste aufgebaut, in der die Einsprungspunkte in die Befehlsliste stehen. Geprüft wird nur ein einziges Mal. Dann in die Befehlsliste verzweigt, sus der man bestenfalls mit break wieder rauskommt, bevor sie zu Ende ist.
Stimmt das nun so?
Ja.
Das steht so auch in SelfHTML.
Gruß
Slyh
Hi,
durch die Switch-Anweisung wird eine Liste aufgebaut, in der die Einsprungspunkte in die Befehlsliste stehen. Geprüft wird nur ein einziges Mal. Dann in die Befehlsliste verzweigt, sus der man bestenfalls mit break wieder rauskommt, bevor sie zu Ende ist.
Das steht so auch in SelfHTML.
hab ich überlesen, obwohl ich nochmal gesucht habe bei JavaScript
Sollte es tatsächlich so ausführlich drinstehen wäre ein Link nett, damit ich es der Doku einverleiben kann.
Dank an Dich
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
hab ich überlesen, obwohl ich nochmal gesucht habe bei JavaScript
Sollte es tatsächlich so ausführlich drinstehen wäre ein Link nett, damit ich es der Doku einverleiben kann.
http://selfhtml.teamone.de/javascript/sprache/bedingt.htm#switch
Gruß
Slyh
Hallo nochmal,
http://selfhtml.teamone.de/javascript/sprache/bedingt.htm#switch
Genau den Text hatte ich natürlich gelesen und mich davon verwirren lassen. Obwohl ich mir als alter Assemblerhase durchaus vorstellen kann, wie sowas abgewickelt wird. Würde vielleicht durchaus zur Klarheit beitragen, wenn Stefan da den Satz aufnehmen würde:"Es findet nur eine einzige Prüfung statt. Danach werden alle Statements ab der passenden Stelle bis zum nächsten break ausgeführt"...
Aber im guten alten dbase konnte man sogar hinter jedem Case eine eigene Bedingung hinterlegen...
Kommt davon, wenn man in mehreren verschiedenen Sprachen an einm Tag gleichzeitig rumturnt.
Liebe Grüße aus http://www.braunschweig.de
Tom