여러 경우를 자바 스크립트에서 성명을 끈다.

나는 자바 스크립트에서 스위치 성명에서:여러 사건들처럼 뭔가 필요가 있다.

switch (varName) {
case "afshin", "saeed", "larry":
alert('Hey');
break;
default:
alert('Default case');
break; } 

내가 어떻게 그럴 수 있을까?만약 방법이 없는 자바 스크립트에서 그런 짓을 하도록. 저는 또한 드라이인 곳 다른 해결책 알고 싶다.



질문에 대한 답변



의 폴스루 기능을 사용합니다.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(); 



스위치 내의 여러 케이스를 할당하기 위한 Javascript에서는different case without break inbetween다음과 같습니다.


<script>
function checkHere(varName){
switch (varName)
{
case "saeed":
case "larry":
case "afshin":

alert('Hey');

break;
case "ss":

alert('ss');

break;
default:

alert('Default case');

break;
}
}
</script> 

링크를 클릭하는 예를 참조하십시오.




명확성과 DRY 구문 때문에 마음에 들어요.

varName = "larry";
switch (true) {
case ["afshin", "saeed", "larry"].includes(varName) :
alert('Hey');
break;
default:
alert('Default case');
}