3일만에 끝내는 HTML, CSS, JS 기초
j32. 자바스크립트 Switch 문 본문
자바스크립트 Switch 문
switch 문은 여러개의 조건으로 분기하여 각기 다른 실행을 할 때 사용됩니다.switch(수식) { case 1: 실행할 코드; break; case 2: 실행할 코드; break; case n: 실행할 코드; break; default: 위의 어떤 경우에도 해당하지 않을때 실행할 기본 코드; }switch 수식을 계산한 후, 각 case 의 값과 비교하여, 일치하는 경우가 있으면 그 코드들이 실행됩니다. 일치하는 것이 하나도 없으면, default 의 코드들이 실행됩니다.
예를 들면 getDay() 라는 함수는 요일을 반환하는데, 0 부터 6 까지의 숫자로 요일을 반환합니다. 즉 0 은 일요일, 1 은 월요일, 2 는 화요일 ... 이런 식입니다. 그래서 이들 숫자들을 switch 문을 사용하여 "요일 이름"으로 표시되도록 만들어야 합니다.
<p id="switchResult"></p> <script> var dayNumber = (new Date().getDay() + 1) % 7; var dayName; switch (dayNumber) { case 0: dayName = "일요일"; break; case 1: dayName = "월요일"; break; case 2: dayName = "화요일"; break; case 3: dayName = "수요일"; break; case 4: dayName = "목요일"; break; case 5: dayName = "프라이데이"; break; case 6: dayName = "토요일"; break; } document.getElementById("switchResult").innerHTML = "내일은 " + dayName + "이 됩니다."; </script>
자바스크립트 코드 해석기 (code interpreter) 가 break; 키워드 를 만나면, 스위치 문 블록 밖으로 빠져나갑니다. 이렇게 해서 추가적인 case 테스트를 중지하고 더이상의 코드들이 실행되지 않게 합니다. 일치하는 case 가 발견되면 더이상 다른 case 를 테스트 하지 않고 switch 문 전체를 빠져나가게 됩니다. default 키워드 는 일치하는 case 가 하나도 없을 때 실행될 코드들을 정의합니다.
어떤 경우에는 switch 블록에서 몇가지의 case 에 대해 똑같은 코드를 실행하고 싶거나, 또는 default 로 바로 보내고 싶을 때가 있습니다. 즉, 여러개의 case 가 하나의 실행 코드들을 공유할 수 있습니다.<p id="getMonthResult"></p> <script> var monthValue = new Date().getMonth(); var eventText; switch (monthValue) { case 11: case 0: case 1: eventText = "12월부터 다음달 2월까지 동절기 50% 할인이 적용됩니다."; break; case 6: case 7: eventText = "7월 8월 달은 하절기 사전 예약제 입니다."; break; default: eventText = "봄과 가을에는 정상가의 20% 할인된 가격으로 모십니다."; } document.getElementById("getMonthResult").innerHTML = eventText; </script>위에서 default 를 맨 마지막이 아닌 다른 case 위에 쓸수도 있는데, 이 경우에는 default 에 대한 실행문 이 끝나면 break; 문으로 빠져 나가게 해야 합니다.
[광고] Udemy 동영상 강의로 보기
'JAVASCRIPT' 카테고리의 다른 글
j34. 자바스크립트 break 와 continue (0) | 2016.06.05 |
---|---|
j33. 자바스크립트 Loop 문 (0) | 2016.06.05 |
j31. 자바스크립트 if 문 (0) | 2016.06.05 |
j28. 자바스크립트 비교 및 논리 연산자 (0) | 2016.06.05 |
j27. 자바스크립트 불리언 (0) | 2016.06.05 |