JavaScript

[JavaScript] arguments 객체

vhxpffltm 2019. 5. 19. 22:37

이 내용은 '생활코딩'에서 공부한 내용을 정리한 글이다. 

자세한 내용은 https://www.opentutorials.org/course/743 이곳에서 확인할 수 있다. 

모든 내용의 출처는 이곳이다. 다른 언어를 알고있는 상태로 공부한 내용이다.

 

arguments 객체는 모든 함수 내에서 사용할 수 있는 지역변수이다. 보통 함수의 인자로 매개변수가 없음에도 자바 스크립트에서는 매개변수를 포함하여 호출할 수 있다. 이것이 arguments 객체에 들어간다고 생각하면 된다. 그리고 이 argumets객체는 배열은 아니지만 배열과 비슷하다.

 

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
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        function sum() {
            var sum = 0;
            for (var i = 0; i < arguments.length; i++) {
                //argument는 사용자가 전달한 인자를 가짐. 배열과 유사한 사용법
                document.write(i + ' : ' + arguments[i] + '<br />');
                sum = sum + arguments[i];
            }
            return sum;
        }
        document.write('result : ' + sum(1234));
        document.write('<br />');
        document.write('result : ' + sum(123456));
        //함수의 매개변수가 없더라도, 숫자개수가 다르더라도 실행됨 arguments라는 객체때문.... 신기
        //sum(i) - i쪽을 인자 : arguments  funtion(arg) 함수에서 arg를 매개변수 : 파라미터
 
        function f1(a) {
            console.log('one.lenth', f1.length,'argument', arguments.length);
        }
        f1(12);
        //함수의 매개변수가 하나이기 때문에 f1.lenth는 1, 호출할때의 인자가 2개이므로 2
    </script>
 
</body>
</html>
 

'JavaScript' 카테고리의 다른 글

[JavaScript] Closure_클로저  (0) 2019.05.27
[Javascript] 함수의 호출(apply)  (0) 2019.05.27
[JavaScript] 변수의 유효범위  (0) 2019.05.19
[JavaScript] 객체  (0) 2019.05.08
[JavaScript] 함수, 배열  (0) 2019.05.08