function outer(){
let num=0;
function inner(){
num++;
console.log(num)
}
return inner;
}
์ด ํจ์๋ฅผ output์์ ๋ฃ๊ณ // output=outer();
output()์ ์ฝ์์ ์ฐ์ผ๋ฉด ์๋์ผ๋ก 1,2,3... ์ฆ๊ฐํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
function count() {
for (var i = 1; i < 10; i++) {
setTimeout(function(){
console.log(i);
}, 1000);
}
}
count();
๋ฅผ ์ฝ์์ ์ฐ์ผ๋ฉด 10์ 9๋ฒ ์ถ๋ ฅํ๋ค.
์๋ํ๋ฉด countํจ์๋ฅผ ํธ์ถํ๋ฉด, ๋ฐ๋ณต๋ฌธ์ ์ด 9๋ฒ ์ํํ๋๋ฐ, ๋ฐ๋ณต๋ฌธ์ ์ํํ ๋๋ง๋ค ๋ณ์ i๋ฅผ ๊ณต์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ , ์ปดํจํฐ๋ ์ฐ์ฐ ์๋๊ฐ ์์ฒญ๋๋ฏ๋ก setTimeout() ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐ๋ณต๋ฌธ 9๋ฒ์ ์ํํ๋๋ฐ 1์ด๊ฐ ์๊ฑธ๋ฆฐ๋ค.๊ทธ๋์ ์ฒ์ i === 1์ผ ๋ 1์ด ๋ค์ ํธ์ถํ๋ ค๊ณ ํ๋ console.log(i)๊ฐ ์คํ๋๊ธฐ ์ ์ i === 10์ด ๋ ์ํ์ด๋ฏ๋ก 10์ด 9๋ฒ ์ถ๋ ฅ๋๋ ๊ฒ์ด๋ค.
function count() {
for (let i = 1; i < 10; i++) {
setTimeout(function(){
console.log(i);
}, 1000);
}
}
count();