자바스크립트 가변 인자 함수는
매개변수를 선언된 형태와 다르게 사용했을 때, 매개변수를 모두 활용하는 함수를 말한다.
매개변수로 입력된 숫자를 모두 더하는 sumAll( ) 함수를 작성하면서,
가변 인자를 공부해보자.
<script>
//함수 생성
function sumAll() {
alert(typeof (arguments) + ' : ' + arguments.length);
}
//함수 호출
sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9);
</script>
위에 코드를 보면, 함수 내부에 arguments 변수를 사용하고 있다.
자바스크립트의 모든 함수는 내부에 변수 arguments가 기본적으로 있다.
변수 arguments는 매개변수의 배열이다.
코드를 실행하면, 배열은 객체이므로 object 자료형을 출력할 것이고
함수를 호출할 때, 아홉 개의 매개변수를 입력했으므로 arguments.length의 값은 9로 나올 것이다.
이제 아홉 개의 매개변수를 모두 더해서 리턴하는 함수를 만들어보자.
<script>
//함수 생성
function sumAll() {
var output = 0;
for (var i = 0; i < arguments.length; i++) {
output += arguments[i];
}
return output;
}
//함수 호출 및 출력
alert(sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9));
</script>
결과는 '45'가 나올 것이다.
끝.
참고 서적 : 모던 웹을 위한 JavaScript + jQuery 입문(개정판)
윤인성 지음. 한빛미디어
'웹개발 > javascript' 카테고리의 다른 글
자바스크립트 내부 함수 (0) | 2019.02.02 |
---|---|
자바스크립트 리턴값 (return 키워드) (0) | 2019.02.02 |
자바스크립트 매개변수 (0) | 2019.02.01 |
자바스크립트 선언적 함수 (0) | 2019.02.01 |
자바스크립트 익명 함수 (0) | 2019.02.01 |