JavaScript

자바스크립트 문법 (4)

starryoon 2023. 7. 4. 16:23

조건문

 

See the Pen Untitled by byeolyoon (@byeolyoon) on CodePen.

 

 

case 를 이용한 예제

 

 

See the Pen Untitled by byeolyoon (@byeolyoon) on CodePen.

 

 

var i = 1, j = 1;
while(i > 3) {
  document.write("i: " + (i++) + "<br>");
}
do {
  document.write("j:" + (j++) + "<br>");
} while(j > 3);

 

// j : 1

 

while 문과 do/while 문의 차이점

 

 

while문 거짓이라면(조건에 부합 X) 단 한번도 실행하지 않음
do/while문 한번은 실행하고 루프를 빠져나옴

 

 

for(var i = 1; i < 10; i++){
  document.write(i + "<br>")
  
}

var arr = [3,4,5];
for(var i = 0; i < arr.length; i++) {
  document.write(i + " ");
}
document.write("<br>");
for (var i in arr) {
  document.write(i + " ");
}

// 0 1 2

0 1 2

 

arr 의 길이 만큼 출력

 

 

 

<for/in 문을 사용하여 객체의 프로퍼티에 접근하는 예제>

 

var obj = { name : "이순신", age: 20};
for (var i in obj) {
  document.write(i + "<br>")
}

 

//name
age

 

for/in 문은 해당 객체가 가진 모든 프로퍼티를 반환하는 것이 아닌, 오직 열거할 수 있는 프로퍼티만 반환함

 

 

 

var arr = [3,4,5];
for(var i = 0; i < arr.length; i++){
  document.write(arr[i] + " ");
}
for(var value of arr) {
  document.write(value + " ");
}

//3 4 5 3 4 5

 

+) for / of 문은 익스플로러에서 지원하지 않음

 

 

 

 

 

<for / of 문을 사용하여 Set 객체의 프로퍼티에 접근하는 예제>

var arr = new Set([1,1,2,2,3,3]);
for (var value of arr) {
  document.write(value + " ");
}

 

// 1 2 3

 

 

루프의 제어

 

일반적으로 표현식의 검사를 통해 루프로 진입하면, 다음 표현식을 검사하기 전까지 루프 안에 있는 모든 실행문을

실행함.

하지만 continue문과 break문은 이러한 일반적은 루프의 흐름을 사용자가 직접 제어할 수 있게 해줌

label문을 사용하면 continue문과 break문의 동작이 프로그램의 흐름을 특정 영역으로 이동시킬 수 있음

 

 

3의 배수를 제외하고 출력

var exceptNum = 3;
for(var i = 0; i <= 100; i++){
  if(i % exceptNum == 0)
    continue;
  document.write(i + " ");
}

1 2 4 5 7 8 10 11 13 14 16 17 19 20 22 23 25 26 28 29 31 32 34 35 37 38 40 41 43 44 46 47 49 50 52 53 55 56 58 59 61 62 64 65 67 68 70 71 73 74 76 77 79 80 82 83 85 86 88 89 91 92 94 95 97 98 100

 

값이 홀수인 경우만 출력

 

 

	gugudan: 
		for (var i = 2; i <= 9; i++) {
			dan: 
			for (var j = 1; j <= 9; j++) {
				if ((i*j) % 2 == 0)
					continue dan;
				document.write(i + " * " + j + " = " + (i*j) + "<br>");
			}
		}

break문 

 

반복문을 완전히 종료시키고, 반복문 바로 다음에 위치한 실행문으로 프로그램의 흐름을 이동시킴

 

 

var lectures = ["html", "css", "자바스크립트", "php"];

var topic = "자바스크립트";

for (var i = 0; i < lectures.length; i++) {

    if (lectures[i] == topic) {

        document.write(topic + " 과목은 " + (i + 1) + "번째 과목입니다.");

        break; // 원하는 값을 찾은 후에는 더 이상 for 문을 반복하지 않고 빠져나감.

    }

}

구구단 3단까지 출력

 

 

gugudan:
for (var i = 2; i <= 9; i++) {
  dan:
  for (var j = 1; j <= 9; j++) {
    if (i > 3)
      break gugudan;
    document.write(i + "*" + j + "=" + (i*j) + "<br>");
  }
}