Calocybe: fehler in switch()

Beitrag lesen

Hi!

Problem war folgendes:
Ich habe die Funktion mittels addsmilie(1) aufgerufen, hatte bei dem switch aber 'case "1"' gehabt. Dadurch war Javascript der Überzeugung das stimmt nicht überein (Bin in der Hinsicht wohl etwas von PHP verwöhnt)...

Bei switch handelt es sich lediglich um so eine Art Sprungtabelle. Das was hinter case steht, wird nicht als richtige Werte angesehen, die dann mit == verglichen werden, sondern als Labels. Man koennte sich das pseudocodemaessig also ungefaehr so vorstellen:

goto variable;
"1": variable = "a"; goto behind;
"2": variable = "b"; goto behind;
"3": variable = "c"; goto behind;
usw.
behind: // ende von switch

(Das goto behind entspricht dabei dem break.)
Dabei findet dann eben keine automatische Typkonvertierung statt.

So long