본문 바로가기

프로그래밍/자바스크립트

[자바스크립트]함수 : 함수의 인자, 가변 인자 함수

1. 함수의 인자

- 자바스크립트는 함수의 생성 시 지정한 매개변수보다 많거나 적은 매개변수를 사용하는 것을 허용한다

- 함수 생성 시 선언한 매개변수보다 적게 사용하면 매개변수에 undefined가 입력된다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>함수의 인자</title>
<script type="text/javascript">
    function test(a,b){
        document.write('a = ' + a + '<br>');
        document.write('b = ' + b + '<br>');
    }
    
    test(10,20);    //10, 20
    document.write('------------------------<br>');
    test(30);    //인자갯수가 달라도 가능 -> 30, undefined
    document.write('------------------------<br>');
    test(10,20,30);    //10, 20
</script>
//출력결과
a = 10
b = 20
------------------------
a = 30
b = undefined
------------------------
a = 10
b = 20
</head>
<body>
</body>
</html>
cs

 

2. 가변 인자 함수

- 매개변수를 선언된 형태와 다르게 사용했을 때도 매개변수를 모두 활용하는 함수

- 자바스크립트의 모든 함수는 내부에 자동으로 매개변수의 배열인 arguments를 가진다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>가변인자 함수</title>
<script type="text/javascript">
    function test(){
        for(var i=0; i<arguments.length;i++){
            document.write('arguments[' + i + ']:' + arguments[i] + '<br>');
        }
    }
    
    test(10);
    document.write('--------------------<br>');
    test(10,20);
    document.write('--------------------<br>');
    test(10,20,30);
    document.write('--------------------<br>');
</script>
//출력결과
arguments[0]:10
--------------------
arguments[0]:10
arguments[1]:20
--------------------
arguments[0]:10
arguments[1]:20
arguments[2]:30
--------------------
</head>
<body>
</body>
</html>
cs