๊ฐ์ด ์ผ์ ํ๊ฒ ๋ณํํ๋ฉฐ ๋ช ๋ น์ ๋ฐ๋ณตํ์ฌ ์คํํ ๋ ์ฌ์ฉํ๋ค
๐ ๋ฌธ๋ฒ
for(์ด๊ธฐ์; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ ๋์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์ด๊ธฐ์, ์กฐ๊ฑด์, ์ฆ๊ฐ์์ ๊ฐ๊ฐ ์๋ตํ ์ ์๋ค
โ ์ผํ ์ฐ์ฐ์(,)๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๊ฐ์ ์ด๊ธฐ์์ด๋ ์ฆ๊ฐ์์ ๋์์ ์ฌ์ฉํ ์ ์๋ค
๐ ์์
<script>
//for๋ฌธ์ผ๋ก ์ง๊ฐ์ผ๊ฐํ ๋ชจ์์ ๋ณ ์ฐ๊ธฐ
for(var i = 1; i < 5; i++) {
for(var j = 1; j <= i; j++) {
document.write("*");
} document.write("<br>");
}
/*
*
**
***
****
*/
</script>
๊ฐ์ฒด์ ๋ชจ๋ ์ด๊ฑฐํ ์ ์๋ ์์ฑ๋ค์ ์ํํ ์ ์๋๋ก ํด์ค๋ค
๐ ๋ฌธ๋ฒ
for(๋ณ์ in ๊ฐ์ฒด) {
๊ฐ์ฒด์ ๋ชจ๋ ์ด๊ฑฐํ ์ ์๋ ํ๋กํผํฐ์ ๊ฐ์๋งํผ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ๊ฐ์ฒด์ key ๊ฐ์๋ ์ ๊ทผ ๊ฐ๋ฅํ์ง๋ง value ๊ฐ์๋ ์ง์ ์ ์ผ๋ก ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค
๐ ์์
<script>
//๋ฐฐ์ด์ ์์์ ์ ๊ทผํ๋ ์์
var arr = ['a', 'b', 'c'];
for(var i in arr) {
document.write(i + " ");
} //0 1 2
//๊ฐ์ฒด์ ํ๋กํผํฐ์ ์ ๊ทผํ๋ ์์
var obj = { a: 1, b: 2, c: 3 };
for(var i in obj) {
document.write(i + " ");
} //a b c
</script>
๋ฐ๋ณตํ ์ ์๋ ๊ฐ์ฒด๋ฅผ ์ํํ ์ ์๋๋ก ํด์ค๋ค
๐ ๋ฌธ๋ฒ
for(๋ณ์ of ๊ฐ์ฒด) {
๊ฐ์ฒด์ ๋ชจ๋ ์ด๊ฑฐํ ์ ์๋ ํ๋กํผํฐ์ ๊ฐ์๋งํผ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ๋ณตํ ์ ์๋ ๊ฐ์ฒด๋ Array, Map, Set, arguments ๊ฐ์ฒด ๋ฑ์ด ์๋ค
๐ ์์
<script>
//Array
var arr = ['a', 'b', 'c'];
for(var val of arr) {
document.write(val + " ");
} //a b c
//String
var str = 'abc';
for(var val of str) {
document.write(val + " ");
} //a b c
//Object
var obj = { 1: 'a', 2: 'b', 3: 'c' };
for(var val of obj) {
document.write(val);
} //TypeError: obj is not iterable
</script>
โ Object๋ [Symbol.iterator] ์์ฑ์ ๊ฐ์ง์ง ์๊ธฐ ๋๋ฌธ์ TypeError๋ฅผ ๋ฐ์์ํจ๋ค
์กฐ๊ฑด์ด true์ธ ๋์ ์คํ๋ฌธ์ ๋ฐ๋ณต ์คํํ๋ค
๐ ๋ฌธ๋ฒ
while(์กฐ๊ฑด) {
์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ ๋์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
โ ์กฐ๊ฑด์ด false๋ฉด ์คํ๋ฌธ์ ํ ๋ฒ๋ ์คํํ์ง ์์ ์ ์๋ค
โ ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ ์๊ฐ์๋ false๋ฅผ ๊ฐ์ง๋๋ก ์์ฑํด์ผ ๋ฌดํ ๋ฃจํ์ ๋น ์ง์ง ์์ ์ ์๋ค
๐ ์์
<script>
//while๋ฌธ์ผ๋ก 5 ํฉํ ๋ฆฌ์ผ ๊ณ์ฐํ๊ธฐ
var fact = 1, i = 1;
while(i <= 5) {
fact *= i;
i++;
} document.write(fact); //120
</script>
์กฐ๊ฑด์ด ๋งจ ๋ค์ ๋ถ์ด์ ์ผ๋จ ์คํ๋ฌธ์ ํ ๋ฒ ์คํํ ํ while๋ฌธ์์ ์กฐ๊ฑด์ ์ฒดํฌํ๋ค
๐ ๋ฌธ๋ฒ
do {
์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ ๋์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
} while(์กฐ๊ฑด);
โ ์กฐ๊ฑด์ด false๋ผ๋ ์คํ๋ฌธ์ด ์ต์ํ ํ ๋ฒ ์คํ๋๋ค
๐ ์์
<script>
//do~while๋ฌธ์ผ๋ก 5 ํฉํ ๋ฆฌ์ผ ๊ณ์ฐํ๊ธฐ
var fact = 1, i = 1;
do {
fact *= i;
i++;
} while (i <= 5);
document.write(fact); //120
</script>