본문 바로가기

JAVASCRIPT

arguments

함수에는 arguments라는 변수에 담신 유사 배열이 있습니다.  이 배열에는 함수를 호출 할때 입력한 인자가 담겨있다. 아래 예제를 봅니다. 

function sum(){
    let 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));

예를 들면 function a(_arg1){         ------_arg는 매개변수이고 (parameter)

 

}

a(1) 1이 인자입니다.

 

다시 돌아와서 sum()매개변수가 없거나 인자의값이 여러개 넣으더라도 에러가 발생하지않습니다.

 

저기 arguments라는 변수에 담신 유사 배열이 담겨져 있습니다. 사용자가 전달한sum(1,2,3,4)) ---> 1234이것들이 arguments에 담겨져 있습니다. arguments.length 이 객체를 통해서 사용자가 정의한 인자1234에 접근할수 있습니다.

arguments.length 이걸 이용하면 sum()의 인자값이 몇개인지를 알수 있습니다.

 

즉 위에 예제의 arguments.length 의 값은 4입니다.

 

저 위의 예제의 for문의 역활은 사용자가 정의한 인자 갯수 만큼 실행이 되는 겁니다.  

 

doument.write는 화면에 무언가를 출력하는 메소드이죠. 

 

아 그리고 

 

a=0이라고 할때

a+=1 랑 a=a+1과 같은 값입니다.

 

즉 결과값은 10입니다.

 

 첫번째 인덱스는 사용자정의 인수 1이먼저 들어가서 arguments[i] 는 1이됩니다. 그리고 첫번째 인자값을 

_sum 이라고 하는 변수에 더하였습니다.  그래서 1입니다. 그다음 인자값 1+2는 3  3+3 =6  6+4는 10입니다.

 

우리는 arguments.length 이객체를 포함하고 있는 이함수 몇개의 인자를 가지고 있는지 알수 있습니다.

 

 

이포스팅은 생활코딩을 참고해서 포스팅하엿습니다. egoing님 감사합니다.

'JAVASCRIPT' 카테고리의 다른 글

함수 호출  (0) 2020.11.04
매개변수의 수  (0) 2020.11.03
클로저2  (0) 2020.11.02
클로저1  (0) 2020.11.02
콜백 -처리의 위임  (0) 2020.11.01