var t = "TEST";
switch(t){
case !"TEST": /* <- does not work. Can you check if t does NOT contain a string? */
alert("t != TEST");
break;
}
你能用 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;
}
你能用 switch 语句做到这一点吗?
你也可以这样做:
var str = "TEST";
switch (true) {
case (str !== "TEST") :
alert("str !== TEST");
break;
case (str === null) :
alert("str is null");
break;
default:
alert("default trigger");
}
你可以使用如果。如果您更喜欢切换,请使用“默认”大小写和 if 条件,例如
default:
if(n == -1){
//Your code
}
break;
你可以使用 typeof:
<script>
var t =((typeof "Test")=='string')?true:false;
switch(t){
case false:
alert("t != TEST");
break;
}
</script>
case
陈述总是寻找真实的。由于您实际上想检查变量是否是字符串(正如我在代码中的注释中读到的那样),因此这种方法可能适合您:
var t = "TEST";
switch(typeof t){
case "string":
break;
default:
alert("t is not a string");
break;
}
编辑:
如果您的真实代码中有更多案例,也许下面的代码可以完成这项工作?
var t = "TEST";
switch(t){
case t:
if ("string" != typeof t) {
alert("t is not a string");
break;
}
case "TEST":
alert("case 2");
break;
case "something_else":
alert("case 3");
break;
}
这是一个示例小提琴:http: //jsfiddle.net/Rz7Sf/。将t
变量值替换为整数,您应该会看到正确的警报。
比方说:
var t = "TEST";
switch(t){
case "TEST":
break;
default:
alert("This is the case you want");
break;
}