본문 바로가기
JavaScript/JavaScript

Javascript) 제어문(if, switch), 반복문(for, for-in, for-of, while, do-while), 난수 생성 / prompt()

by 박채니 2022. 5. 17.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


제어문

 

HTML 코드

<body>
    <h1>제어문</h1>
    <h2>분기문</h2>
    <button onclick="test1();">if</button>
    <button onclick="test2()">switch</button>
</body>


Javascript 코드

 

if문

<script>
    /**
     * if
     * if else
     * if else if
     */
function test1() {
    const n = Math.floor(Math.random()*10 + 1);   // 1~10사이의 임의의 정수 반환
    console.log(n);

    if(n % 2 == 0) {
        console.log("짝수"); 
    } else {
        console.log("홀수");
    }
}
</script>

Math.random()함수를 이용하여 1 ~ 10까지의 임의의 숫자를 리턴 받았으며, 실수로 반환되므로 Math.floor로 버림처리 하였습니다.

 

switch문

function test2() {
    const n = prompt("1 ~ 3 사이의 정수를 입력하세요"); // 반드시 string 반환

    switch(n) {
        case "1": console.log('1을 입력하셨습니다.'); break;
        case "2": console.log('2을 입력하셨습니다.'); break;
        case "3": console.log('3을 입력하셨습니다.'); break;
        default: console.log('잘못 입력하셨습니다.');
    }
}

prompt()를 이용하여 값을 입력 받아 switch문을 실행하였습니다.

prompt()의 리턴 값은 반드시 string 타입이기 때문에 switch문에서도 타입을 동일하게 맞춰줘야 합니다.

 


반복문

 

HTML 코드

<h2>반복문</h2>
<button onclick="test3()">for</button>
<button onclick="test4()">while</button>
<button onclick="test5()">@실습문제 - 구구단</button>

 

for문

function test3() {
    for(let i = 0; i < 10; i++) {
        console.log(i);
    }
}

 

for-in문

- Enumerable 속성이 true인 속성을 순회

- 배열 사용 시 index 참조

const arr = ['a', 'b', 'c'];

for(let i in arr) {
    console.log(i, arr[i]);
}

 

for-of문

- 해당 객체가 iterator 속성을 가지고 있는 경우, 사용 가능

- 배열 사용 시 요소를 참조

const arr = ['a', 'b', 'c'];

for(let ch of arr) {
    console.log(ch);    // 요소 출력
}

 

 

while문

function test4() {
    let i = 1; 
    while(i <= 10) {
        console.log(i++);
    }
}

 

do-while문

let yn;

do {
    yn = prompt("계속 하시겠습니까?(y/n)", 'y');    // 기본 값 설정
} while(yn == 'y');

기본 값으로 'y'가 나오며, 'n'을 입력하면 do-while문이 종료됩니다.

 

 

@실습문제 - 구구단

- 사용자가 입력한 단 수 (2~9)의 구구단 출력

- 2 ~ 9 숫자가 아니라면 출력하지 않음

- 구구단 함수를 호출하여 출력

function test5() {
    const dan = Number(prompt("구구단수(2 ~ 9)를 입력하세요", 2));

    if(dan >= 2 && dan <= 9) {
        gugudan(dan);
    }
}

function gugudan(dan) {
    for(let i = 1; i < 10; i++) {
        console.log(dan + ' * ' + i + ' = ' + dan*i);
    }
}