본문 바로가기

Javascript/기초공부

[Javascript: Arguments] Arguments란? / function length

Arguments란?

함수에서 arguments라는 변수에 함수를 호출할 때 입력한 인자가 담겨있다. 배열처럼 사용한다. 객체의 일종.

function sum(){
    var i, _sum = 0;    
    for(i = 0; i < arguments.length; i++){ // 인자의 길이만큼 for문
        document.write(i+' : '+arguments[i]+'<br />');
        _sum += arguments[i]; // 인자값을 배열처럼 접근
    }   
    return _sum;
}
document.write('result : ' + sum(1,2,3,4)); // 원하는 개수만큼의 인자 전달 가능

 

* Arguments(인자)parameters(매개변수)의 차이

function a(arg1) { // arg1: 매개변수 parameter

}
a(i); // i: 인자 argument

 

Function Length

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

즉, 위의 코드를 응용해서 사용자에게 받는 인자값을 개수를 제한시킬 수 있다.