arguments는 유사배열이다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨져있다.
function a(arg1){
} //arg1은 아래의 인자를 담고있는 매개변수(parameter)이다.
a(1); //1은 인자(arguments)이다. 매개변수안에 들어가는 값이 '인자'이다.
function sum(){
var i, _sum =0;
for(i = 0; i <arguments.length; i++){
document.write(i+' : '+arguments[i] + <br />');
_sum += arguments[i];
}
return _sum;
}
documents.write('result : ' + sum(1,2,3,4));
.length는 arguments의 인자 수를 계산할 수 있다.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
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 //함수의 이름.lenth와 함수의 arguments.length는 다른 것이다.
two('val1'); // two.length 2 arguments 1
</script>
</body>
</html>