ECMAScript 함수는 전달되는 매개변수 수에 신경 쓰지 않으며, 일관성 없는 매개변수로 인해 오류가 발생하지 않습니다. 실제로 함수 본문은 인수 개체를 통해 전달된 매개변수를 받을 수 있습니다.
길이 속성을 사용하여 매개변수가 몇 개인지 지능적으로 판단한 다음 매개변수를 적절하게 적용할 수 있습니다.
예를 들어, 전달된 모든 숫자를 누적하는 덧셈 연산을 구현하려고 하는데 숫자의 개수가 불확실합니다.
function box() {
var sum = 0 ;
if (arguments.length == 0) return sum; //매개변수가 없으면 종료
for(var i = 0;i
sum = sum 인수[i];
}
return sum; //누적 결과 반환
}
alert(box(5,9, 12));
ECMAScript의 함수에는 다른 고급 언어처럼 함수 오버로딩 기능이 없습니다.
function box(num) {
return num 100;
}
function box(num) { //이 함수가 실행됩니다.
return num 200; 경고(box(50)); //결과 반환