루프용 자바스크립트



루프는 지정된 횟수만큼 코드 블록을 실행합니다.


JavaScript 루프

같은 코드를 매번 다른 값으로 반복해서 실행하려는 경우 루프를 사용하는 것이 편리합니다.

다음과 같이 배열의 값을 출력할 수 있습니다:

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>		
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0;i<cars.length;i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.


다양한 유형의 루프

JavaScript는 다양한 유형의 루프를 지원합니다.

  • for - 특정 횟수만큼 코드 블록을 반복합니다.

  • for/in - 코드 블록의 속성을 반복합니다. object

  • while - 지정된 조건이 true일 때 지정된 코드 블록을 반복합니다.

  • do/while - 마찬가지로 지정된 조건이 true일 때 지정된 코드 블록을 반복합니다.


For 루프

for 루프는 루프를 만들고 싶을 때 자주 사용됩니다.

다음은 for 루프의 구문입니다.

for( 문 1;문 2;문 3)
{
실행된 코드 블록
}

문 1(코드 블록)은 시작하기 전에 실행됩니다.

문 2는 루프(코드 블록)가 실행되는 조건을 정의합니다.

문 3은 루프( 코드 블록)이 실행되었습니다.

인스턴스

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>点击按钮循环代码5次。</p>
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction(){
	var x="";
	for (var i=0;i<5;i++){
		x=x + "该数字为 " + i + "<br>";
	}
	document.getElementById("demo").innerHTML=x;
}
</script>

</body>
</html>

인스턴스 실행»

"인스턴스 실행" 버튼을 클릭하여 온라인 인스턴스 보기

위의 예에서 다음을 볼 수 있습니다.

문 1은 루프가 시작되기 전에 변수(var i=0)를 설정합니다.

문 2는 루프 실행 조건을 정의합니다(i는 5보다 작아야 함).

문 3은 코드 블록이 실행될 때마다 값(i++)을 증가시킵니다.


문 1

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

문 1은 선택 사항이므로 문 1 없이도 수행할 수 있습니다.

문 1에서 모든(또는 여러) 값을 초기화할 수 있습니다:

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0,l=cars.length; i<l; i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.

동시에 문 1을 생략할 수도 있습니다(예: 값이 루프 시작):

인스턴스

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
var i=2,len=cars.length;
for (; i<len; i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

인스턴스 실행»

온라인을 보려면 "인스턴스 실행" 버튼을 클릭하세요. 인스턴스


문 2

보통 문 2는 초기 변수의 조건을 평가하는 데 사용됩니다.

문2도 선택사항입니다.

문 2가 true를 반환하면 루프가 다시 시작되고, false를 반환하면 루프가 종료됩니다.

lamp如果您省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃。请在本教程稍后的章节阅读有关 break 的内容。



문 3

보통 문 3은 초기 변수의 값을 증가시킵니다.

문3도 선택사항입니다.

문 3은 다양한 용도로 사용됩니다. 증분은 음수(i--)이거나 더 클 수 있습니다(i=i+15).

문 3도 생략할 수 있습니다(예: 루프 내부에 해당 코드가 있는 경우):

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
var i=0,len=cars.length;
for (; i<len; ){
	document.write(cars[i] + "<br>");
	i++;
}
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.


For/In 루프

JavaScript for/in 문 개체의 속성을 반복합니다.

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
	
<p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction(){
	var x;
	var txt="";
	var person={fname:"Bill",lname:"Gates",age:56}; 
	for (x in person){
		txt=txt + person[x];
	}
	document.getElementById("demo").innerHTML=txt;
}
</script>
	
</body>
</html>

인스턴스 실행»

"인스턴스 실행" 버튼을 클릭합니다. 온라인 인스턴스를 보려면

JavaScript 개체에 관한 장에서 for/in 루프에 대해 자세히 알아볼 것입니다.


While 루프

다음 장에서는 while 루프와 do/while 루프에 대해 설명하겠습니다.