Switch Case Anweisung

Gast #1930024
Lesenswert?

Hallo zuasmmen,

und zwar habe ich folgendes Problem:
Wenn ich in JavaScript eine Variable var mit einer if Anweisung abfrage, 
funktioniert alles einwandfrei:
1
if(isiDevice == "7,E,18")
2
  {    
3
    log(device + " 3.1.3");
4
  }

Wenn ich allerdings eine Switch Case Abfrage mache, wird immer nur die 
default aufgerufen:
1
switch(isiDevice)
2
{    
3
        case ("7,E,18"):  log(device + "3.1.3");
4
          break;
5
  default:    log("Fehler");
6
}

Warum funktioniert das nicht?
Was mache ich falsch?

Vielen Dank im Voraus

Modellbauer
Gast #1930042
Lesenswert?

Danke schonmal,

Läubi .. schrieb:
> Ich würde mal die klammern wegnehmen

Ohh ja hatte ich vorher aber hatte es auch mit ausprobiert, man weiß ja 
nie...
also ich...


Läubi .. schrieb:
> ggf mal den tatsächlichen
> String loggen...

hab ich auch schon getan gehabt...

Läubi .. schrieb:
> default:
>    log("Fehler: '"+isiDevice+"' nicht gefunden");

Wirft mir jetzt aus:
Fehler: '7,E,18' nicht gefunden
Gast #1930053
Lesenswert?

Rufus t. Firefly schrieb:
> Auch Java kann in switch/case nur mit ganzzahligen Datentypen umgehen,
> ein Stringvergleich ist damit nicht möglich.

Das ist ja blöde. Aber ok dankeschön. Das wusste ich natürlich nicht, 
weil das gerade mein erstes "Programm" in Javascript ist. Möchte damit 
erkennen, ob man eine Seite mit einem iPod ansurft und wenn ja, welche 
SW er drauf hat...
Naja ist ja nicht so wichtig, was ich damit vorhabe.

Dann werde ich wohl die bescheuerten If´s nehmen....

Nochmal vielen Dank für die schnellen Antworten

Modellbauer
Persönliche Seite #1930154
Lesenswert?

Versuch es probehalber mal mit einem String der nicht mit einer Zahl 
beginnt. Bei JS gibt es die schönsten "Dummheiten" wo man ewig nicht 
drauf kommt...

Rufus t. Firefly schrieb:
> Oh, JavaScript, nicht Java.
> Das hatte ich übersehen, da sind Strings durchaus möglich, ab Version
Unter Java hätte sich schon der Compiler beschwert ;)

Modellbauer schrieb:
> Wo kann ich die Version denn sehen?
http://javascript.about.com/library/bljver.htm

Ansosnten eventuell mal den Code "außenrum" herzeigen...
Gast #1930731
Lesenswert?

Hallo nochmal,
1
switch((isiDevice[0] + isiDevice[1] + isiDevice[2])) 
2
{  
3
     case "7E18":
4
           log(device + " 3.1.3");
5
           break;
6
     default:
7
           log("Fehler: '"+isiDevice+"' nicht gefunden");
8
}

So funktioniert das jetzt...
Die Kommata werden nun nicht mehr berücksichtigt.

Aber danke für die Hilfe bis hier hin.

Den Code für die Versionsanzeige von JavaScript konnte ich im Übrigen 
auch noch so ganz gut gebrauchen.

Danke

Modellbauer

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren