Kann ich das prüfen nicht gleich in eine JavaScript-Anweisung switch?
var t = "TEST";
switch(t){
case !"TEST": /* <- does not work. Can you check if t does NOT contain a string? */
alert("t != TEST");
break;
}
Können Sie dies mit einer switch-Anweisung?
- Während
switch(true)
ist und dann die Fälle mit logischen Ausdrücke, die zu true/false funktioniert in JavaScript ... das ist nicht, wie Schalter "bedeutete" verwendet werden. Für dein einfaches Beispiel, eine einfachif
Aussage wäre viel besser. - Das Beispiel ist isoliert von einer sehr viel komplexeren Fall. Danke für den Kommentar CBroe!
- Warum verwenden Sie nicht nur eine
if
? - Dann sollte es nicht enthalten sein in der switch-Anweisung, es wird immer sehen, für wahr.
- Ich weiß nicht, ob Sie überprüft meine Antwort schon, aber wenn Sie es Tat, die ich gerade bearbeitet es ein wenig. Bitte werfen Sie einen Blick, wenn es Ihren Bedürfnissen entspricht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nutzen, wenn. Wenn Sie lieber wechseln, verwenden Sie eine 'default' - Fall und eine if-Bedingung gibt es wie
können Sie typeof:
case
- Anweisung sieht immer für wahr. Da Sie wirklich wollen, zu prüfen, ob die variable ein string ist (wie ich gelesen habe in dem Kommentar im code), vielleicht könnte dieses Konzept das richtige für Sie:BEARBEITEN:
Wenn Sie mehr Fälle in Ihrem realen code, vielleicht ist der folgende code würde die Arbeit machen?
Hier ist ein Beispiel Geige: http://jsfiddle.net/Rz7Sf/. Ersetzen Sie die
t
Wert der Variablen mit einer ganzen Zahl, und Sie sollten sehen, die richtige Warnung.können Sie dies auch tun:
Sagen wir mal: