본문 바로가기

학원/복기

[JavaScript] 함수의 매개변수(Parameter) - 인자(Argument)

함수의 매개변수(Parameter)

 

매개변수(Parameter)는 함수에 작성된 명령을 실행하기 위해 반드시 필요한 값을 함수 호출시 전달받아 저장하기 위해 사용하는 변수이다. 

 

매개변수는 var 키워드 없이 선언하면 지역변수로 처리된다.

function sum(num1, num2) {
	alert("합계 = " +(num1+num2));
}

 

함수를 호출할 땐 매개변수의 갯수와 같은 갯수의 값을 전달하여 호출하면 된다.

sum(10,20);//합계 = 30

 

함수 매개변수의 갯수보다 적은 갯수의 값을 전달하여도 함수 호출이 가능하지만
값을 전달받지 못한 매개변수는 [undefined] 자료형의 변수로 처리되어 비정상적인 결과를 제공한다.

sum(10);//합계 = NaN

 

함수 매개변수의 갯수보다 많은 갯수의 값을 전달하여도 함수 호출이 가능하다.
단, 매개변수에 값이 차례대로 전달되어 저장되면 남은 값은 미사용 처리된다.

sum(10,20,30);//합계 = 30

 

자바스크립트에서는 매개변수에 상관없이 함수명으로 함수호출이 가능하다. 

function total() {
	alert("total 함수의 명령 실행");
}

total();//호출 가능 
total(10,20,30);//호출 가능
total(10,20,30,40,50);//호출 가능

Arguments 객체

 

Aarguments 객체는 함수 호출시 전달된 값을 배열 형식으로 저장하기 위한 내장객체이다.

alert(arguments);//[object Arguments]

 

arguments.length 속성은 전달값의 갯수를 제공받아 출력해준다.

alert(arguments.length);//전달값의 갯수를 제공받아 출력

 

전달값을 전달받아 변수에 누적 처리 할 수 있다.

 

 

function total() {
	var tot=0;
	for(i=0;i<arguments.length;i++) {
		tot+=arguments[i];//전달값을 제공받아 변수에 누적 처리 
	}
		
	alert("합계 = "+tot);
}

total();//합계 = 0 
total(10,20,30);//합계 = 60
total(10,20,30,40,50);//합계 = 150