我需要在 JavaScript 的 switch 语句中使用多种情况,例如:
switch (varName)
{
case "afshin", "saeed", "larry":
alert('Hey');
break;
default:
alert('Default case');
break;
}
我怎样才能做到这一点?如果没有办法在 JavaScript 中执行类似的操作,我想知道一个替代的解决方案,该解决方案也遵循DRY 概念。
switch
语句的直通功能。匹配的大小写将一直运行到找到break
(或switch
语句的末尾)为止,因此您可以将其编写为:
switch (varName)
{
case "afshin":
case "saeed":
case "larry":
alert('Hey');
break;
default:
alert('Default case');
}
这可以在常规 JavaScript 中使用:
function theTest(val) {
var answer = "";
switch( val ) {
case 1: case 2: case 3:
answer = "Low";
break;
case 4: case 5: case 6:
answer = "Mid";
break;
case 7: case 8: case 9:
answer = "High";
break;
default:
answer = "Massive or Tiny?";
}
return answer;
}
theTest(9);
这是完全switch
语句的另一种方法:
var cases = {
afshin: function() { alert('hey'); },
_default: function() { alert('default'); }
};
cases.larry = cases.saeed = cases.afshin;
cases[ varName ] ? cases[ varName ]() : cases._default();