์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํ๋๋ ๋ฐ๋ณต๋ฌธ. ๋ฌธ์ฅ์์ด ์คํ๋๊ธฐ ์ ์ ์ฐธ, ๊ฑฐ์ง์ ํ๋จ
let i = 0
while(true){
alert(`${i}๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์
๋๋ค.`);
i = i + 1;
}
while ๊ณ์ ์ฆ๊ฐํ์ฌ ๋์ ์์ด ๋ฐ๋ณตํจ.
let i = 0
while(confirm('๊ณ์ ์งํ์ ์ํ์๋ฉด ํ์ธ์ ๋๋ฅด์ธ์.')){
alert(`${i}๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์
๋๋ค.`);
i = i + 1;
}
confirm ํจ์๋ฅผ ์ด์ฉํด ์กฐ๊ฑด ๋ถ์ฌ
ํ์ธ์ ๋๋ฅผ ๊ฒฝ์ฐ true ๊ฐ ๋ฐ์ ์คํ๋ฌธ์ด ์คํ๋๊ณ , ์ทจ์๋ฅผ ๋๋ฅผ ๊ฒฝ์ฐ false ๊ฐ์ด ๋ฐ์ํด ์คํ๋ฌธ ์คํ ์๋
do ๋ฐ๋ณต๋ฌธ์ ์ต์ ํ๋ฒ์ ๋ฐ๋ณต.
do {
์คํ๋ฌธ;
} while (์กฐ๊ฑด);
์คํ๋ฌธ์ด ํ๋ฒ์ ์คํ์ด ๋๊ณ , ์กฐ๊ฑด์ด false๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณตํจ.
์ด๋ค ํน์ ํ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ๋ก ํ๋ณ๋ ๋๊น์ง ๋ฐ๋ณต
for ([์ด๊ธฐ๋ฌธ]; [์กฐ๊ฑด๋ฌธ]; [์ฆ๊ฐ๋ฌธ]) {
์คํ๋ฌธ
}
for(let i =0; i <=10; i++) {
for(let j = 0; j <= i ; j++) {
document.write('*');
}
document.write('<br>')
}
๋ฐ๊นฅ for๋ฌธ์ ์์์๋ถํฐ ์๋๋ก 10๊ฐ ํ ๋ฐ๋ณต ์๋ฏธ. ๊ฐ ํ ์ค๋ฐ๊ฟ ํ์.
์์ชฝ for๋ฌธ์ 1๊ฐ ํ์์ ์์ฑ๋ ๋ณ์ ๊ฐ์ ์๋ฏธ. ๋๋ฌธ์ ์์ชฝ for๋ฌธ์ ์กฐ๊ฑด์ ๋ฐ๊นฅ for๋ฌธ์ ๊ธธ์ด๋งํผ ์คํ์์ผ์ผํ๋ฏ๋ก j <= i ์กฐ๊ฑด ๋ถ์ฌ.
ํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํจ์๋ฅผ ํธ์ถํ๋ ค๋ ๋ฒ์ ๋ด์์ ํจ์๋ฅผ ์ ์ํด์ผํจ.
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์) {
return ๋งค๊ฐ๋ณ์ * ๋งค๊ฐ๋ณ์;
}
- ํจ์์ ์ด๋ฆ
- ๊ดํธ ์ ๋งค๊ฐ๋ณ์
์ ํจ์๋ ํ๋์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋๋ค. ์ธ์ (๋งค๊ฐ๋ณ์) ์์ฒด๋ฅผ ๊ณฑํด ๋ฐํํ๋ ๋ฌธ์ฅ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์.
๋งค๊ฐ๋ณ์๋ ๊ฐ์ผ๋ก ํจ์์ ์ ๋ฌ- ์ค๊ดํธ { } ์์ ์คํ๋ฌธ
- return์ ํจ์์ ์ํด ๋ฐํ๋ ๊ฐ์ ์ง์
ํจ์ ํํ์( function expression)์ ์ํด ํจ์๊ฐ ๋ง๋ค์ด ์ง ์ ์์
์ต๋ช
์ด๋ผ๊ณ ํจ. ๋ชจ๋ ํจ์๊ฐ ์ด๋ฆ์ ๊ฐ์ง ํ์๋ ์๋ค
var ๋ณ์์ด๋ฆ = function(๋งค๊ฐ๋ณ์) { return ๋งค๊ฐ๋ณ์ * ๋งค๊ฐ๋ณ์ };
var ๋ณ์์ด๋ฆ2 = ๋ณ์์ด๋ฆ(2) // x ์ ๊ฐ์ 4
var ๋ณ์์ด๋ฆ = function ํจ์์ด๋ฆ (๋งค๊ฐ๋ณ์) { return ๋งค๊ฐ๋ณ์ * ๋งค๊ฐ๋ณ์ };
var ๋ณ์์ด๋ฆ2 = ๋ณ์์ด๋ฆ(2) // x ์ ๊ฐ์ 4
ํ์ง๋ง, ํจ์ ํํ์์์ ํจ์์ ์ด๋ฆ์ ์ง์ ํ ์ ์์
ํจ์๋ด์์ ์ฐธ์กฐํ๋๋ฐ ์ฌ์ฉ๋๊ฑฐ๋, ํจ์๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์
ํจ์ ์ ์์ ํจ์ ์คํํ๋ ๊ฒ์ ๋ค๋ฅด๋ค.
ํจ์๋ฅผ ์ ์ํ๋ ๊ฒ์ ํจ์์ ์ด๋ฆ์ ์ง์ด์ฃผ๊ณ , ํจ์๊ฐ ํธ์ถ๋ ๋ ๋ฌด์์ ํ ์ง ์ง์ ํด์ฃผ๋ ๊ฒ ๋ฟ.
ํจ์๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๋ ๊ฑด ํจ์ ํธ์ถ๋ก ํจ.
ํจ์์ด๋ฆ(๊ฐ);
ํด๋น ํจ์์ด๋ฆ์ธ ํจ์์ ๊ฐ์ด ์ ๋ฌ๋์ด ์คํ๋ ํจ์๊ฐ์ด ๋ฐํ
ํจ์๋ ํธ์ถ๋ ๋ ๋ฒ์ ๋ด์ ์์ด์ผ ํจ.
ํ์ง๋ง ํจ์์ ์ ์ธ์ ํธ์ด์คํ
๋ ์ ์์
console.log(ํจ์์ด๋ฆ(5));
/* ... */
function ํจ์์ด๋ฆ(n) { return n * n }
๋ฒ์๋ ํจ์๊ฐ ์ ์ธ๋ ๊ณณ, ์ ์ฒด ํ๋ก๊ทธ๋จ์์ ์ต์์ ๋ ๋ฒจ(์ ์ญ)์ ์ ์ธ๋ ๊ณณ
ํจ์ ๋ด์์ ์ ์๋ ๋ณ์๋ ๋ณ์๊ฐ ํจ์์ ๋ฒ์์์๋ง ์ ์๋์ด ์์, ํจ์ ์ธ๋ถ์ ์ด๋ ๊ณณ์์๋ ์ก์ธ์คํ ์ ์๋ค.
ํ์ง๋ง ํจ์๊ฐ ์ ์๋ ๋ฒ์ ๋ด์์ ์ ์๋ ๋ชจ๋ ๋ณ์๋ ํจ์๋ ์ก์ธ์คํ ์ ์์
์ ์ญํจ์๋ ๋ชจ๋ ์ ์ญ ๋ณ์๋ฅผ ์ก์ธ์คํ ์ ์์
๋ค๋ฅธ ํจ์ ๋ด์์ ์ ์ ๋ ํจ์๋ ๋ถ๋ชจ ํจ์์ ๋ถ๋ชจ ํจ์๊ฐ ์ก์ธ์ค ํ ์ ์๋ ๋ค๋ฅธ ๋ณ์์ ์ ์๋ ๋ชจ๋ ๋ณ์์ ์ก์ธ์ค ๊ฐ๋ฅ.
var num1 = 20,
num2 = 3,
name = "Chamahk";
// This function is defined in the global scope
function multiply() {
return num1 * num2;
}
multiply(); // Returns 60
// A nested function example
function getScore () {
var num1 = 2,
num2 = 3;
function add() {
return name + " scored " + (num1 + num2);
}
return add();
}
getScore(); // Returns "Chamahk scored 5"
ํจ์ ์ ์ธ์ ๋ํ ๋ฒ์๊ฐ ์ด๋ ค์ ๋ค.
โ๏ธ ์ด๋ป๊ฒ ํด๊ฒฐ์ ํ๋๊ฐ?
โ๏ธ ์ด๋ ๊ฒ ์ดํด๋ฅผ ํ๋ค
โ๏ธ ์ด๋๊น์ง ์ดํดํ์ง?
โ๏ธ ๋ค์์ ์๋ํด๋ณผ ๋ฐฉ๋ฒ
์ถ๊ฐ๋ก ์ฐพ์์ ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค
๋ง์ ๋ด์ฉ์ ๋ฐฐ์์ ํ๋ฒ ๋ ์ ๋ฆฌํด์ผ๊ฒ ๋ค.