
상품 목록에서 상품을 하나씩 출력하거나 1에서 10까지 숫자를 하나씩 증가시키면서 동일한 코드를 반복적으로 실행해야 하는 경우가 많습니다. 이 경우 루프를 사용하여 동일한 코드를 여러 번 반복할 수 있습니다.
‘동안’ 문
while(condition) {
// 코드
// '반복문 본문(body)'라고 불림
}
상태(조건) true인 경우 루프 본문 암호달리고 있다
루프 상태 나 < 3만족하면서 나발행된다
let i = 0;
while (i < 3) { // 0, 1, 2가 출력된다.
alert(i);
i++;
}
루프 본문을 한 번 실행하는 것을 반복이라고 합니다. 위의 예에서 루프는 세 번 반복합니다.
나++이것이 없으면 루프는 이론적으로 끝없이 반복됩니다. 그러나 브라우저는 이 무한 루프를 중지할 수 있는 편리한 수단을 제공합니다. 서버측 자바스크립트는 또한 이 기능을 제공하여 무한 루프 프로세스를 종료할 수 있습니다.
루프 조건에서는 비교뿐만 아니라 모든 종류의 표현식과 변수를 사용할 수 있습니다. 조건은 while에 의해 평가되고 평가 후 부울 값으로 변경됩니다.
동안 (나는! = 0)단축 내가) 동안그걸로 했어
let i = 3;
while (i) { // i가 0이 되면 조건이 false가 되며 반복문이 멈춘다.
alert(i);
i--;
}
‘do…while’ 문
하는 … 동안문법을 사용하여 상태(조건)은 루프 본문 아래로 이동할 수 있습니다.
do{
// 반복문 본문
} while (condition);
이때 본문이 먼저 실행되고 조건을 확인한 후 조건이 참인 동안 본문이 계속 실행됩니다.
let i = 0;
do {
alert(i);
i++;
} while (i < 3);
하는 … 동안구문은 조건이 참인지 여부에 관계없이 본문을 한 번 이상 실행해야 하는 경우에만 사용해야 합니다. 대부분의 상황에서 하는 … 동안보다 하는 동안(…) {…}적합하다
‘에 대한’ 문
루프는 루프보다 복잡하지만 가장 일반적으로 사용되는 루프입니다.
for (begin; condition; step) {
// ... 반복문 본문 ...
}
i가 0~3이 될 때까지 다음 half 문을 실행합니다(단, 3은 포함되지 않음). 경고(i)라고
for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력된다.
alert(i);
}
요소
| 시작하다 | 나는 = 0 | 루프에 들어갈 때 한 번만 실행됩니다. |
| 상태 | 나 < 3 | 이 조건은 각 반복에서 확인됩니다. 거짓이면 루프가 중지됩니다. |
| 몸 | 경고(i) | 조건이 true인 동안 계속 실행됩니다. |
| 단계 | 나++ | 각 반복의 본문이 실행된 후에 실행됩니다. |
일반적인 반복 알고리즘은 다음과 같습니다.
begin을 실행된다
→ (condition이 true면 → body를 실행한 후, step이 실행된다.)
→ (condition이 true면 → body를 실행한 후, step이 실행된다.)
→ (condition이 true면 → body를 실행한 후, step이 실행된다.)
→ ...
시작하다이것을 한 번 실행한 후, 상태(조건) 확인 및 , 몸그만큼 단계절반 속도로 계속됩니다.
// for(let i = 0; i < 3; i++) alert(i)
// begin을 실행
let i = 0;
// condition이 true이면 → body를 실행한 후, step이 실행된다.
if(i < 3) {alert(i); i++}
// condition이 true이면 → body를 실행한 후, step이 실행된다.
if(i < 3) {alert(i); i++}
// condition이 true이면 → body를 실행한 후, step이 실행된다.
if(i < 3) {alert(i); i++}
// i === 3이므로 반복문이 종료된다.
구성요소 생략
~을 위한문장의 일부를 생략하는 것도 가능합니다.
루프 시작 시 아무 작업도 수행할 필요가 없는 경우 시작하다생략할 수도 있습니다.
let i = 0; // i를 선언하고 값도 할당되었다.
for(; i < 3; i++) { // 'begin'이 필요하지 않기 때문에 생략
alert(i); // 0, 1, 2
}
단계생략도 가능하다.
let i = 0;
for (; i < 3;) {
alert(i++);
}
위와 같이 ~을 위한문을 구성할 때 동안 (i < 3)와 같을 것이다
모든 구성 요소를 생략하여 무한 반복할 수 있습니다.
for(;;) {
// 끊임 없이 본문이 실행된다.
}
~을 위한문의 구성 요소를 생략하면 두 가지 ;(세미콜론)이 필요합니다. 없는 경우 오류가 발생합니다.
출구 루프
일반적으로 루프 조건이 거짓이 되면 루프가 종료됩니다.
그러나 특별한 지표 부서지다원할 때마다 루프에서 벗어날 수 있습니다.
사용자에게 일련의 숫자를 입력하도록 지시하고 사용자가 값을 입력하지 않으면 루프를 종료합니다.
let sum = 0;
while(ture) {
let value = +prompt('숫자를 입력하세요.', '');
if(!value) break; // (*)
sum += value;
}
alert(`합계: ${sum});
로 표시된 줄에부서지다 사용자가 아무 것도 입력하지 않거나취소
버튼을 누르면 활성화됩니다. 이 시점에서 루프는 즉시 중지되고 제어 흐름은 루프 아래의 첫 번째 줄로 이동합니다. 여기경보
첫 줄이 됩니다.
문장 중간이나 여러 군데에서 조건을 확인해야 하는 경우 루프의 처음이나 끝에서 조건을 확인하는 대신 “무한 루프 +부서지다
“조합을 사용하는 것이 좋다.
- 요약 ~하는 동안
- – 각 반복이 시작되기 전에 조건을 확인하십시오. 하는 … 동안
- – 각 반복 후 상태를 확인합니다. 을 위한 (;;)
– 각 반복이 시작되기 전에 조건을 확인하십시오. 추가 설정을 할 수 있습니다. ‘무한’ 루프는 일반적으로동안(참) 다른 루프와 마찬가지로 무한 루프를 사용하여 만든부서지다
지시어로 중지할 수 있습니다.

