ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript Arguments
    MOOC/생활코딩 2016. 4. 22. 22:08
    반응형

    2016.04.22.

     

    - Arguments

     

    .length를 통해서 이 객체를 포함하고 있는 함수가 몇 개의 인자를 가지고 있는지 알 수 있다.

    arguments 안의 대괄호를 통하여 각자 인자의 특정한 자릿수의 값을 알아낼 수 있다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    function sum(){
        var i, _sum = 0;    
        for(i = 0; i < arguments.length; i++){
            document.write(i+' : '+arguments[i]+'<br />');
            _sum += arguments[i];
        }   
        return _sum;
    }
    document.write('result : ' + sum(1,2,3,4));
    cs

     

    arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다. arguments[0]은 함수로 전달된 첫번째 인자를 알아낼 수 있다. arguments.length를 이용해서 함수로 전달된 인자의 개수를 알아낼 수도 있다. 이러한 특성에 반복문을 결합하면 함수로 전달된 인자의 값을 순차적으로 가져올 수 있다. 그 값을 더해서 리턴하면 인자로 전달된 값에 대한 총합을 구하는 함수를 만들 수 있다.

     

    arguments는 사실 배열은 아니다. 실제로는 arguments 객체의 인스턴스다.

     

    - 매개변수의 수

     

     매개변수와 관련된 수가 두가지가 있는데 하나는 함수.length, 다른 하나는 arguments.length이다.

    arguments.length는 함수로 전달된 실제 인자의 수를 의미하고, 함수.length는 함수에 정의된 인자의 수를 의미한다.




    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 zero(){
        console.log(
            'zero.length', zero.length,
            'arguments', arguments.length
        );
    }
     
    zero(); // zero.length 0 arguments 0 

    function one(arg1){
        console.log(
            'one.length', one.length,
            'arguments', arguments.length
        );
    }
     
    one('val1''val2');  // one.length 1 arguments 2 
    function two(arg1, arg2){
        console.log(
            'two.length', two.length,
            'arguments', arguments.length
        );
    }
     
    two('val1');  // two.length 2 arguments 1
     
    cs


    반응형

    'MOOC > 생활코딩' 카테고리의 다른 글

    JavaScript 생성자와 new  (0) 2016.04.23
    JavaScript 함수의 호출  (0) 2016.04.23
    JavaScript 클로저  (0) 2016.04.21
    JavaScript 값으로서의 함수와 콜백  (0) 2016.04.21
    JavaScript 유효범위  (0) 2016.04.19

    댓글 0

Designed by Tistory.