웹 & 프레임워크

JavaScript 인자없는 함수 이용법 (가변인자 함수 사용법)

늘근이 2014. 6. 25. 17:14

일반적으로, 자바에서는 parameter가 없는 함수에 뭘 집어넣을려고 하면 자바는 컴파일 에러를 뱉어낸다.

하지만, 자바스크립트는 변수가 특정하게 지정되지 않는 특성에 걸맞게, 인자가 없는 함수를 만들더라도 추후에 직접 그 함수를 호출할때, 파라미터로 값을 넣어도 동작한다.




function sumAll() {

var result = 0;

for(var i in arguments){

  result += arguments[i];

}

return result;

}


console.log(sumAll(10,20,30,40));

console.log(sumAll(10,20));

console.log(sumAll(10,20,30));



위에 arguments라고 for each처럼 뽑아낼수 있다. 결과는 다음과 같다.


60


마찬가지로,


받는 인자를 두개로 설정해놨는데, 하나만 주거나 안주면 어떻게 될까? 다음예제를 참고한다.

 

 

 

function test(value1, value2) {

console.log(value1 + "/" + value2);

 

}

 

//가변인자함수

 

function sumAll() {

}

 

test();

test(10);

test(10,20);

test(10,20,30);

 

 

 

결과는 이렇다

 

undefined/undefined 03_advanced_function.html:9
10/20