ํจ์์๋ arguments๋ผ๋ ๋ณ์์ ๋ด๊ธด ์จ๊ฒจ์ง ์ ์ฌ ๋ฐฐ์ด์ด ์๋ค. ์ด ๋ฐฐ์ด์๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์
๋ ฅํ ์ธ์๊ฐ ๋ด๊ฒจ์๋ค.
function sum(){ // ๋งค๊ฒ๋ณ์๊ฐ ์์
var i, _sum = 0;
for(i = 0; i < arguments.length; i++){ // arguments.length -> 4๊ฐ
document.write(i+' : '+arguments[i]+'<br />');
//arguments๋ ์ฌ์ฉ์๊ฐ ์ ๋ฌํ ์ธ์๊ฐ ๋ค์ด์๋ค.
_sum += arguments[i];
}
return _sum;
}
document.write('result : ' + sum(1,2,3,4)); //์ธ์ 4๊ฐ๋ฅผ ์ ๋ฌํจ
// result : 10
๋งค๊ฐ๋ณ์์ ๊ด๋ จ๋ ๋๊ฐ์ง ์๊ฐ ์๋ค. ํ๋๋ ํจ์.length, ๋ค๋ฅธ ํ๋๋ arguments.length์ด๋ค. arguments.length๋ ํจ์๋ก ์ ๋ฌ๋ ์ค์ ์ธ์์ ์๋ฅผ ์๋ฏธํ๊ณ , ํจ์.length๋ ํจ์์ ์ ์๋ ์ธ์์ ์๋ฅผ ์๋ฏธํ๋ค.
function zero(){
console.log(
'zero.length', zero.length,
'arguments', arguments.length
);
}
function one(arg1){
console.log(
'one.length', one.length,
'arguments', arguments.length
);
}
function two(arg1, arg2){
console.log(
'two.length', two.length,
'arguments', arguments.length
);
}
zero(); // zero.length 0 arguments 0
one('val1', 'val2'); // one.length 1 arguments 2
two('val1'); // two.length 2 arguments 1