반응형


   함수명.length : 함수의 매개변수의 개수


   함수명.argument.length == argument.length : 호출하는 쪽의 인자 개수

 






arguments 개체


설명

현재 실행 중인 함수 및 이 함수를 호출한 함수에 대한 인수를 나타내는 개체입니다.

함수

선택 사항입니다.현재 실행 중인 Function 개체의 이름입니다.

n

필수 요소. Function 개체에 전달되는 인수 값에 대한 인덱스(0부터 시작)입니다.

arguments 개체는 명시적으로 만들 수 없습니다. arguments 개체는 함수가 실행을 시작할 때만 사용할 수 있습니다.함수의 arguments 개체는 배열이 아니지만 배열 요소에 액세스하는 방식과 동일하게 각각의 인수에 액세스할 수 있습니다. n 인덱스는 실제로 arguments 개체의 0n 속성 중 하나에 대한 참조입니다.

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
function ArgTest(a, b) {
    var s = "";
 
    s += "Expected Arguments: " + ArgTest.length; // 2 : 함수 인자 개수
    s += "\n";
 
    s += "Expected Function.arguments: " + ArgTest.arguments.length; //4 : 총 매개변수 개수
    s += "\n";
 
    s += "Passed Arguments: " + arguments.length; //4 : 총 매개변수 개수
    s += "\n";
 
    s += "The individual arguments are: "
    for (n = 0; n < arguments.length; n++) {
        s += ArgTest.arguments[n];
        s += " ";
    }
 
    console.log(s);
}
 
ArgTest(12"hello"new Date())
 



[출력 결과]

Expected Arguments: 2

Expected Function.arguments: 4

Passed Arguments: 4

The individual arguments are: 1 2 hello Fri Apr 20 2018 11:23:06 GMT+0900 (대한민국 표준시)





매개변수는 많지만 인자가 적은 경우



 만약 인자의 개수가 1개 즉 ArgTest(1); 로 호출하는 경우  b, c에는 undefined 이 되어 인자의 개수들은

 arguments.length == 1

 ArgTest.arguments.length == 1


즉 함수의 매개변수를 2개 선언했다 할지라도 undefined 은 개수에서 제외 되는 개수를 보이지만


ArgTest.length == 3 의 경우엔 매개변수 개수를 그대로 나타내고 있음을 알 수 있다










반응형

+ Recent posts