switch statement
variable의 value에 따라 다른 트랙으로 가는 것
각 버튼에 다른 소리가 나게 하려면 switch statement가 필요하다.
if statement를 쓸 수도 있지만
그럼 if, else를 너무 많이 써야하니 switch를 쓴다.
참고) 7개의 드럼 html 코드
switch bare bones
7. 각 버튼의 innerHTML을 뽑아서 buttonInnerHTML에 담았다.
각 letter를 뽑아서 buttonInnerHTML에 담는 것이다.
8. switch (expression) switch on 할 variable을 넣는다.
switch(buttonInnerHTML) : 각 letter를 담은 variable에 스위치 온할 것이다.
9,10,11 case "w":
첫 번째 버튼의 letter가 w 이다.
buttonInnerHTML에 담긴 문자가 w인지 묻는다.
buttonInnerHTML가 w와 같다면 아래의 내용을 실행한다.
var crash = new Audio("sounds/crash.mp3");
crash.play();
괄호를 사용하지 않고, 콜론을 사용한다.
12. break;
여기 switch statement을 exit하고 다음 코드로 가라.
00. default:
if-else에서 else와 비슷하다.
default 나올 일 없다하더라도 내용 채워 주는 것이 좋다.
각 드럼을 클릭하면 다른 소리가 난다.
var numberOfDrums = document.querySelectorAll(".drum").length;
for (var i = 0; i < numberOfDrums; i++) {
document.querySelectorAll(".drum")[i].addEventListener("click", function() {
var buttonInnerHTML = this.innerHTML;
switch (buttonInnerHTML) {
case "w":
var crash = new Audio("sounds/crash.mp3");
crash.play();
break;
case "a":
var kickBass = new Audio('sounds/kick-bass.mp3');
kickBass.play();
break;
case "s":
var snare = new Audio('sounds/snare.mp3');
snare.play();
break;
case "d":
var tom1 = new Audio('sounds/tom-1.mp3');
tom1.play();
break;
case "j":
var tom2 = new Audio('sounds/tom-2.mp3');
tom2.play();
break;
case "k":
var tom3 = new Audio('sounds/tom-3.mp3');
tom3.play();
break;
case "l":
var tom4 = new Audio('sounds/tom-4.mp3');
tom4.play();
break;
default:
console.log(buttonInnerHTML);
break;
}
});
}
'Java Script > JS basic' 카테고리의 다른 글
자바스크립트 동작원리 stack, queue (0) | 2021.09.22 |
---|---|
JS] 애니메이션 효과 | setTimeout( ) | 버튼 클릭시 효과 (0) | 2021.08.31 |
JS] 오브젝트란? / Constructor function (0) | 2021.08.28 |
JS] this (0) | 2021.08.27 |
JS] 오디오 함수 (0) | 2021.08.27 |
댓글