์๋
ํ์ธ์ ํด๋ก์ ์ ์์ฉ ์์
๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค
ํด๋ก์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ ๋น์ทํ ๊ณ ๋ฏผ์ ํ์๊ธฐ์ ์ ๊ฐ ์ดํดํ๋ ๊ฑธ ์ ์ด๋๋ฆฝ๋๋ค. 3๋ฒ์งธ ์ค์ i๋ for๋ฌธ์ i๋ฅผ ๋ฐ๊ณ ์๋๊ฒ ๋ง์ต๋๋ค. ๊ฐ์๋ฅผ ๋ณด๋ฉด ์ for๋ฌธ ์์ฑ ์ดํ์ arr[0]~arr[4]๋ฅผ ์ถ๋ ฅ์ ํ๋๋ฐ ๋ชจ๋ 5๊ฐ ๋์ค์ฃ ? i๊ฐ์ด 5์ด๊ธฐ ๋๋ฌธ์
๋๋ค. (i๋ for๋ฌธ์์ 5ํ ๋ฐ๋ณต๋์์ต๋๋ค.) ์์ฑ์๋์ ์๋ง for๋ฌธ์ ๋ณด๋ฉด์ arr[0] = function(){return 0;} arr[1] = function(){return 1;} arr[2] = function(){return 2;} arr[3] = function(){return 3;} arr[4] = function(){return 4;} ๋ฅผ ๊ธฐ๋ํ์
จ์๊ฒ ๊ฐ์๋ฐ arr[0] = function(){return i;} arr[1] = function(){return i;} arr[2] = function(){return i;} arr[3] = function(){return i;} arr[4] = function(){return i;} ์ด๋ ๊ฒ ์ดํดํ๋๊ฒ ๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ด๋ ๊ฒ ๋๋์ง ์๊ฐํด ๋ดค๋๋ฐ arr[i]์ฒ๋ผ ๋ฐฐ์ด ์ธ๋ฑ์ค์์๋ i๊ฐ ๊ฐ์ง ์ ์ ๊ฐ์ด ๋ค์ด๊ฐ๊ณ return i; ์ผ๋๋ i๋ผ๋ ๋ณ์ ๊ทธ ์์ฒด, ์ฃผ์๊ฐ์ด ๋ฆฌํด๋์ด์ ๊ทธ๋ฐ๊ฒ ๊ฐ์ต๋๋ค.