제어문(control flow statements)
프로그램의 순차적인 흐름을 제어해야 할 때 사용하는 실행문. 이러한 제어문에는 조건문, 반복문 등이 포함
조건문(conditional statements)
조건문이란 프로그램 내에서 주어진 표현식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문.
1. if 문
2. if / else 문
3. if / else if / else 문
4. switch 문
if (표현식) {
표현식의 결과가 참일 때 실행하고자 하는 실행문;
}
if (표현식) {
표현식의 결과가 참일 때 실행하고자 하는 실행문;
} else {
표현식의 결과가 거짓일 때 실행하고자 하는 실행문;
}
switch (조건 값) {
case 값1:
조건 값이 값1일 때 실행하고자 하는 실행문;
break;
case 값2:
조건 값이 값2일 때 실행하고자 하는 실행문;
break;
...
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 실행문;
break;
}
반복문(iteration statements)
반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문.
프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 실행문 중 하나
1. while 문
2. do / while 문
3. for 문
4. for / in 문
5. for / of 문
while (표현식) {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문(loop);
// 무한 루프 주의
}
do {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
//무조건 먼저 루프를 한 번 실행한 후 표현식 검사
} while (표현식);
for (초기식; 표현식; 증감식) {
표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}
// For-in : 객체의 속성 또는 배열의 요소에 대해 반복기능 수행
// 객체의 속성을 순회하기 위한 구문
for (변수 in 객체) {
객체의 모든 열거할 수 있는 프로퍼티의 개수만큼 반복적으로 실행하고자 하는 실행문;
}
// For-of : 반복가능한 객체를 반복하는 기능 Array, Map, Set, String, TypeArray, Arguments
// 객체의 요소 (데이터)를 순회하기 위한 구문
for (변수 of 객체) {
객체의 모든 열거할 수 있는 프로퍼티의 개수만큼 반복적으로 실행하고자 하는 실행문;
//익스플로러에서 지원하지 않는다.
}
기타 제어문
label 문
label 문은 프로그램 내의 특정 영역을 식별할 수 있도록 해주는 식별자.
continue 문과 break 문의 동작이 프로그램의 흐름을 특정 영역으로 이동시킬 수 있다.
label:
식별하고자 하는 특정 영역
arrIndex: //라벨. for문 전체를 가리키는 식별자
for (var i in arr) {
document.write(i);
}
continue 문
루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 표현식의 판단으로 넘어가게 한다.
보통 반복문 내에서 특정 조건에 대한 처리를 제외하고자 할 때 자주 사용
//1. continue;
//2. continue 라벨이름;
var exceptNum = 3;
for (var i = 0; i <= 100; i++) {
if (i % exceptNum == 0) // exceptNum의 배수는 출력하지 않음.
continue;
document.write(i + " ");
}
break 문
break 문은 루프 내에서 사용하여 해당 반복문을 완전히 종료시키고,
반복문 바로 다음에 위치한 실행문으로 프로그램의 흐름을 이동시킨다.
루프 내에서 표현식의 판단 결과에 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용
//1. break;
//2. 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 문을 반복하지 않고 빠져나감.
}
}
'Javascript' 카테고리의 다른 글
[JS] 자바스크립트 연산자 우선순위 (0) | 2019.12.15 |
---|---|
[JS] 웹 동적 분할 패널 (레이아웃) 만들기 (0) | 2019.12.12 |
자바스크립트 (3) 변수 선언과 초기화, 연산자 (0) | 2019.11.03 |
자바스크립트 (2) 타입과 변환 (0) | 2019.06.20 |
자바스크립트 (1) 정의 (0) | 2019.06.20 |