switch/case syntax
bernd
- javascript
hallo zusammen!
ich möchte eine abfrage, die ich bislang auf "if" aufgebaut habe als "switch" formulieren. sie ist aber leicht verschachtelt, weswegen ich mich leider etwas verlaufen habe.
vorweg noch: ich habe einen string in einer variablen abgelegt, den ich nach dem vorkommen von bestimmten "substrings" durchsuche und davon abhängig eine aktion starte.
lange vorrede- einfaches konstrukt:
var basis="der besagte string";
var sub="besagt";
if (basis.indexOf(sub))
{aktion...}
hat jemand einen tipp, wie diese bedingung für switch/case formuliert werden muss?
greetings
bernd
var basis="der besagte string";
var sub="besagt";if (basis.indexOf(sub))
Das die Bedingung auch zutrifft, wenn der String nicht vorhanden ist, ist dir klar?
if(-1) alert('stimmt');
{aktion...}
hat jemand einen tipp, wie diese bedingung für switch/case formuliert werden muss?
Vermutlich gar nicht. Da deine Abfrage nicht so aussieht, als ob sie sich in eine sinnvolle switch/case Abfrage umwandeln ließe. Was stört dich den an if then else if?
Struppi.
hallo struppi,
Das die Bedingung auch zutrifft, wenn der String nicht vorhanden ist, ist dir klar?
nicht wirklich *hüstel*- allerdings haben mich meine versuche mit rückgabewerten auch nicht weiter gebracht.
Vermutlich gar nicht. Da deine Abfrage nicht so aussieht, als ob sie sich in eine sinnvolle switch/case Abfrage umwandeln ließe.
das gefühl habe ich leider auch...
Was stört dich den an if then else if?
dass es nicht klappt ;-}
deswegen vielleicht nochmal, was damit eigentlich treiben will:
if (pfad.indexOf=("verzeichnis"))
{ parent.links.location.href="../../../../verzeichnis/datei1.html"; parent.oben.location.href="../../../../verzeichnis/datei2.html";
}
ist evtl. deutlicher so.
beste grüße
bernd
hallo struppi,
Das die Bedingung auch zutrifft, wenn der String nicht vorhanden ist, ist dir klar?
nicht wirklich *hüstel*- allerdings haben mich meine versuche mit rückgabewerten auch nicht weiter gebracht.
Vielleicht weißt du nicht, dass indexOf -1 bei mißerfolg zurück liefert. D.h. wenn du prüfen willst, ob ein String vorhanden ist musst du aif != -1 testen, dein Test if(bla) ist imer wahr, wenn bla ungleich null oder ein nichtleerer String oder true ist
Und -1 ist ungleich null.
Was stört dich den an if then else if?
dass es nicht klappt ;-}
Nicht klappen ist eine etwas unzureichende Fehlerbeschreibung.
Kommt eine Fehlermeldung?
if (pfad.indexOf=("verzeichnis"))
{ parent.links.location.href="../../../../verzeichnis/datei1.html"; parent.oben.location.href="../../../../verzeichnis/datei2.html";
}ist evtl. deutlicher so.
Nicht wirklich. Da weder sichtbar ist, wozu hier eine switch/case Block gut sein sollte, noch was pfad eigentlich ist.
Vielleicht schaust du noch mal in die Doku http://selfhtml.teamone.de/javascript/objekte/string.htm
Struppi.
hallo struppi,
wie sich immer mehr rauskristallisiert, liegt mein problem doch auf anderer ebene als ich bislang dachte. werde nochmal weiter checken und vielleicht eine andere frage draus machen (möchte hier ja kein riesiges listing hinknallen).
gruß & dank trotzdem
bernd
hi,
if (pfad.indexOf=("verzeichnis"))
pfad.indexOf=("verzeichnis") ist ein zuweisungs-operation.
zum _vergleichen_ verwende pfad.indexOf==("verzeichnis")
gruss,
wahsaga