티스토리 뷰

생활코딩/자바스크립트

argumnets

선물공룡디보 2021. 8. 18. 21:46

 

함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다.

 

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));
//0 : 1
//1 : 2
//2 : 3
//3 : 4
//result : 10

자바스크립트는 매개변수가 없어도 에러가 나지 않는다.
자용자가 전달한 인자에 접근할수 있다.
arguments.length 를 이용하여 인자의 개수를 알수있고, 인자의 값을 순차적으로 가져올수도 있다. arguments는 배열이
아니라 객체이다.

매개변수의 수

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

parameter 안에있는 매개변수의 개수를  함수.length 를 이용하여 구할수 있고
arguments.length 를 통해 인자의 개수를 알수있다.

'생활코딩 > 자바스크립트' 카테고리의 다른 글

함수호출  (0) 2021.08.18
클로저  (0) 2021.08.18
값으로서의 함수와 콜백  (0) 2021.08.18
유효범위  (0) 2021.08.17
객체  (3) 2021.08.15
댓글