JavaScript

자바스크립트 활용

paintover23 2023. 6. 28. 15:48
728x90

가장 안쪽 가로가 가장 높은 실행 우선순위 가지고 있음

[주사위 게임]

var dice = math.floor(math.random()*6)+1;
math.floor --> 내림
math.random --> 0에서 1사이의 임의의 숫자 출력

[예제]
function rand(maxNum) {
    var dice = Math.floor(Math.random() * maxNum)+1;
    --> 0이 나올 수도 있기에 1을 더해줌.
    document.write(dice);
}

rand(6);

[소수 출력하기(1과 자기자신으로만 나눠떨어지는 수)]

function isPrime(n) {
	var divisor =2; 2부터 나누기 시작
    while(n > divisor) { n이 나누는 수보다 클 때까지
    if (% divisor === 0) { n과 나누는 수가 나누어 떨어지면
    	return false; <-- 이 숫자는 소수가 아니다
       } else {
      	 divisor++; 나누어 떨어지지 않는다면 나누는 수 1씩 계속 증가
       }
      } return true; <-- 이 숫자는 소수다
     }
     
[예제]
function isPrime(n){
    var divisor = 2;
    if (n==1) {
        return false;
    }
    while (n > divisor) {
        if (n% divisor == 0) {
            return false;
        } else {
            divisor ++;
        }
    }
    return true;
}

출력 --> 1false 2true 3true 4false 5true 6false 7true 8false 9false 10false

[문자열 거꾸로 출력하기]

function reverse(str) {
	var reverStr = ''; <--빈 문자열
    for (var i =str.length -1; i>=0, i--) {
    	reverStr = reverStr + str.charAt(i); 
        <--str의 i번째 문자를 빈 문자열에 추가
      } return reverStr;
    }
console.log(reverse('Hello')); //olleH

[예제]
function reverse(str) {
    var reverStr = "";
    for (var i =str.length-1; i >=0; i--) {
        reverStr = reverStr + str.charAt(i);
    }
    return reverStr;
}

console.log(reverse("Nice to meet you"));
document.write(reverse("Nice to meet you"));

문자열 맨 뒤부터 출력해야 하므로 i가 0이 될때까지 1씩 감소
인덱스는 0부터(문자열 길이-1)이라는 점 유의

ㅇ str= 문자열
ㅇ Hello의 문자열 길이= 5,(인덱스는 hello --> 0,1,2,3,4)

for (var i =str.length -1; i>=0, i--) { 에서,
5-1=4, 인덱스 4는 0보다 크거나 같다라는 조건이 참이므로 다음 for문을 실행
reverStr = reverStr + str.charAt(i);
--> reverStr= 0, str.charAt(4) --> 첫번째로 문자열 'o'가 출력

for문 반복,
ㅇ 4-1=3, 참이므로 for 문 명령 실행, 0+3=3 --> 문자열 'l' 출력

계속 반복,
ㅇ 최종 결과물 'olleH' 출력

728x90
반응형

'JavaScript' 카테고리의 다른 글

[자바스크립트] 콜 스택 분석하기  (0) 2023.08.09
자바스크립트 활용-구구단  (0) 2023.06.28
반복문  (0) 2023.06.28
조건문  (0) 2023.06.28
연산자  (0) 2023.06.28