我有一个开关盒,我想使用双管将 3 种不同的可能情况导向一个结果。
var type = "JPEG"
switch(type){
case "PNG" || "JPG" || "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}
显而易见的事情是为每种文件类型制作一个单独的案例,但必须有一种更有效的方法,类似于我的尝试。
我有一个开关盒,我想使用双管将 3 种不同的可能情况导向一个结果。
var type = "JPEG"
switch(type){
case "PNG" || "JPG" || "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}
显而易见的事情是为每种文件类型制作一个单独的案例,但必须有一种更有效的方法,类似于我的尝试。
这就是 switch 失败的原因:
switch(type){
case "PNG":
case "JPG":
case "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}
但fallthrough是一个善变的野兽!当心可怕的被遗忘的 break 语句
switch(type){
case "PNG":
case "JPG":
case "JPEG":
alert("works");
default: // forgot break BOTH ALERTS RUN!
alert("not working");
break;
}
这不是开关盒的工作方式。相反,您需要创建失败案例'(跳过 break 语句)。
var type = "JPEG"
switch(type){
case "PNG":
case "JPG":
case "JPEG":
alert("works");
break; //break here if you dont want to fall through again
default:
alert("not working");
break;
}
是的,有:
var type = "JPEG"
switch (type) {
case "PNG":
case "JPG":
case "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}
尝试
var type = "JPEG"
switch(type){
case "PNG":
case "JPG":
case "JPEG":
alert("works");
break;
default:
alert("not working");
break;
}