출처 : 코딩애플 JavaScript 입문과 웹 UI개발
1) 3,6,9 게임 해보자~
3의 배수에서 박수를 치면 되는게임을 만들어보자.
어떤식이냐면, 3의 배수일 경우 console.log('박수') 가 나오고, 아닐경우에는 console.log('통과') 를 만들어보자.
function 삼육구게임(){}
먼저, 문제를 풀기전에 한글로 틀을 짜야한다!! 초보일때는 한글 함수명과 한글 변수명을 쓰는게 좋다!
function 삼육구게임(입력된 숫자){
if(입력된 숫자가 3의 배수라면){
console.log('박수');
}else{ 그게 아니라면
console.log('통과');
}}
위에 코드블럭처럼 한글로 먼저 구조를 그려본다.
~한 경우, ~ 면 이니까 if문이 들어가야한다. if(true)가 나올경우 {}를 실행하고 false 가 나오면 else{} 를 실행한다.
그러면 나머지는... 3의배수를 어떻게 알지??
우리는 % 나머지를 구하는 연산자를 알고있다.
3/3을 하면 몫은 1이고 나머지는 0이다.
즉, 3의 배수는 3으로 나눴을 때 나머지가 0이 나오는걸 구해야한다.
✅정답
function 삼육구게임(입력된숫자){
if(입력된숫자%3===0){
console.log('박수');
}else{
console.log('통과');
}}
console.log(삼육구게임(3));
console.log(삼육구게임(4));
console.log(삼육구게임(12));
함수를 만들었으면 함수는 불러줘야해(실행해줘야해~)
실행하려면
함수명(argument);를 입력하면 된다.
즉 위에서는 삼육구게임(3); 이라고 실행을 했다.
3이라는 argument는 입력된 숫자라는 parameter로 들어가서 실행이 된다.
2) 3의 배수는 박수 1번, 9의 배수는 박수 2번, 나머지는 그냥 통과를 만드려면?
기존에 만들어진거를 살펴보자
이거를 어떻게 변형할 수 있을까?
function 삼육구게임(입력된숫자){
if(입력된숫자%3===0){
console.log('박수');
}else{
console.log('통과');
}}
console.log(삼육구게임(3));
console.log(삼육구게임(4));
console.log(삼육구게임(12));
9의 배수라면 역시 입력된숫자%9===0 가 나와야지
그런데 위치를 어떻게 할까?
입력된숫자%3===0 을 먼저 넣고 else if 문을 써서 입력된숫자%9===0 을쓴다면??
NO NO!!!
9는 3의 배수라서 3과 9가 겹치게 돼.
3과 9가 겹치면, if문은 true인걸 먼저 반환하고 다음 else if문은 실행되지 않기 때문에
9의 배수가 먼저나와야해
function 삼육구게임(입력된숫자){
if(입력된숫자%9===0){
console.log('박수박수');
}else if(입력된숫자%3===0){
console.log('박수')
}else{
console.log('통과');
}}
console.log(삼육구게임(3));
console.log(삼육구게임(9));
console.log(삼육구게임(18));
console.log(삼육구게임(13));
'프론트엔드 개발 > JavaScript' 카테고리의 다른 글
자바스크립트) 변수 const, let, var (1) | 2022.11.12 |
---|---|
Json server 로 mock 서버 만들기 (0) | 2022.11.07 |
JavaScript) 반복문 - Array.forEach &object.for in (0) | 2022.10.12 |
JavaScript) 함수 return (0) | 2022.10.10 |
JavaScript) 화살표함수 arrow function (0) | 2022.10.05 |