JavaScript For 루프(Loop)


루프(Loop)는 코드 블록을 여러 번 실행 할 수 있게 해준다.


JavaScript Loops

매번 다른 값으로 동일한 코드를 실행하려면 루프가 편리합니다.

이는 종종 배열을 갖고 작업 할 때의 경우이다. :

Instead of writing:

text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";

You can write:

for (i = 0; i < cars.length; i++) {
    text += cars[i] + "<br>";
}
Try it Yourself »


루프(Loops)의 다른 종류

JavaScript 는 루프의 다른 종류를 지원합니다:

  • for - 코드 블록을 여러번 반복
  • for/in - 객체의 속성을 따라 반복
  • while - 지정된 조건이 true 인 동안 코드 블록을 반복
  • do/while - also l지정된 조건이 true 인 동안 코드 블록을 반복

For 루프

for 루프는 루프를 만들 때 자주 사용하는 도구입니다.

for 루프의 구문은 다음과 같습니다:

for (statement 1; statement 2; statement 3) {
    code block to be executed
}

Statement 1 는 루프(코드 블록)가 시작되기 전에 실행된다.

Statement 2 는 루프(코드 블록)을 실행하기 위한 조건을 정의한다.

Statement 3 는 루프(코드 블록)가 실행 된 후마다 매번 실행된다.

Example

for (i = 0; i < 5; i++) {
    text += "The number is " + i + "<br>";
}
Try it Yourself »

From the example above, you can read:

Statement 1 루프가 시작되기 전에 변수를 정의 (var i=0).

Statement 2 루프를 실행하는 조건을 정의합니다. ( i갸 5보다 작아야합니다 ).

Statement 3 루프의 코드 블록이 실행될 때마다 값을 증가(i++) 시킨다.


Statement 1

일반적으로 루프에 사용될 변수를 초기화하는데 statement 1 을 사용합니다 (var i=0).

하지만 항상 그래야하는 것은 아닙니다. JavaScript 는 강제하지 않으며, statement 1 은 선택 사항입니다.

어떤(또는 모든) 값도 statement 1 에서 초기화 할 수 있습니다.:

Example

for (i = 0, len = cars.length, text = ""; i < len; i++) {
    text += cars[i] + "<br>";
}
Try it Yourself »

그리고 statement 1 을 생략할 수 있습니다.(루프가 시작하기 전에 값이 초기화 된 경우 처럼):

Example

var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
    text += cars[i] + "<br>";
}
Try it Yourself »


Statement 2

종종 statement 2 은 초기 변수의 상태를 평가하는 데 사용된다.

이것은 항상 요구되는 것이 아니라, JavaScript는 강제하지 않고, statement 2 는 선택 사항입니다.

statement 2 이 true 를 반환하는 경우 루프를 다시 실행 하며,  false를 반환하는 경우, 루프가 종료됩니다.

Note   statement 2를 생략하면, 루프 내부에 break 를 제공해야합니다. 그렇지 않으면 루프는 끝나지 않을 것입니다.   


Statement 3

종종 statement 3은 초기 변수를 증가시킨다.

이것은 항상 요구되는 것이 아니라, JavaScript는 강제하지 않고, statement 3 는 선택 사항입니다.

Statement 3 은 아무거나 올 수 있습니다. 증가는 음수(i--)도 큰 수(i=i+15)도 될 수 있다.

Statement 3 를 생략 할 수 있습니다 (해당하는 코드가 루프안에 올 경우 처럼):

Example

var i = 0;
var len = cars.length;
for (; i < len; ) {
    text += cars[i] + "<br>";
    i++;
}
Try it Yourself »


For/In 루프

JavaScript for/in 문은 객체의 속성(properties)을 따라 반복한다.:

Example

var person = {fname:"John", lname:"Doe", age:25};

var text = "";
var x;
for (x in person) {
    text += person[x];
}
Try it Yourself »

Test Yourself with Exercises!

Exercise 1 »  Exercise 2 »  Exercise 3 »  Exercise 4 »  Exercise 5 »  Exercise 6 »


JavaScript While 루프(Loop)


지정된 조건이 true 인 동안 코드 블록을 반복 실행할 수 있습니다.


While Loop

while 루프는 지정된 조건이 true 인 동안 코드 블록을 반복합니다.

Syntax

while (condition) {
    code block to be executed
}

Example

이 예에서 루프는 오랫동안 변수 i 가 5보다 작은동안 계속 실행하는 것입니다 :

Example

while (i < 10) {
    text += "The number is " + i;
    i++;
}
Try it Yourself »

Note 조건에 사용 된 변수를 증가하는 것을 잊은 경우, 루프는 끝나지 않을 것입니다. 브라우저가 멈출 것 입니다.


Do/While 루프

do/while 루프는 while 루프의 변형입니다. 이 루프는 조건이 true 인지 검사하기 전에, 코드 블록을 한 번 실행합니다. 그리고 나서 조건이  true 인 동안 루프를 반복 할 것이다.

Syntax

do {
    code block to be executed
}
while (condition);

Example

아래 예제는 do/while 루프를 사용합니다.  조건이 테스트 되기 전에 코드 블록이 실행되기 때문에, 조건이 false 인 경우에도 루프는 항상 적어도 한 번은 실행된다. :

Example

do {
    text += "The number is " + i;
    i++;
}
while (i < 10);
Try it Yourself »

조건에 사용된 변수를 늘리는 것을 잊지 마십시오. 그렇지 않으면 루프가 종료되지 않습니다!


Comparing For and While

당신은 while 루프는 statement 1 과 statement 3 이 생략된 for 루프 거의 같은 것을 발견 할 것입니다. 

아래의 예에서 루프는 cars 배열의 모든 값을 표시하기 위해서  for 루프를 사용한다:

Example

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";

for (;cars[i];) {
    text += cars[i] + "<br>";
    i++;
}
Try it Yourself »

아래의 예에서 루프는 cars 배열의 모든 값을 포시하기위해서  while 루프를 사용한다 :

Example

var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";

while (cars[i]) {
    text += cars[i] + "<br>";
    i++;
}
Try it Yourself »

Test Yourself with Exercises!

Exercise 1 »  Exercise 2 »  Exercise 3 »  Exercise 4 »  Exercise 5 »