ecoEarth 2022. 10. 12. 03:40

함수의 구조

function 함수명( [인자...[,인자]] ){
   //코드
   //return 반환값
}
  • 함수(function)란 하나의 로직을 재실행 할 수 있도록 개발자가 정의하는 것으로, 코드의 재사용성을 높여준다.(유지, 보수의 용이함)
  • 이때 함수명이란 것은 개발자가 지정하는 문자열이다.

함수의 호출

numbering();

 

출력(return)

 

함수 내에서 사용한 return은 return 뒤에 따라오는 값을 함수의 결과값으로 반환한다. 동시에 함수를 종료시킨다.

function 음료수(){
	return '밀키스';
	return '환타';
	return '콜라';
}
alert(음료수());

return 뒤에 가장 첫번째로 따라나오는 값은 '밀키스'이다. 이 값이 결과값으로 반환되며, 동시에 함수가 종료되므로 '환타'와 '콜라'는 alert에 출력되지 않는다.

 

인자(argument)와 매개변수(parameter)

인자(argument)란 함수로 유입되는 값을 의미하며, 매개변수란 인자가 저장되는 저장소의 역할을 한다.

function get_argument(arg){
    return arg;
}
 
alert(get_argument(1));
alert(get_argument(2));

5행의 get_argument(1)은 1행에서 3행 사이에 정의된 함수를 실행하는 구문이다. 5행의 1은 get_argument로 1이라는 인자를 전달하겠다는 의미다. 이 때 1행에 정의된 (arg) 구문에 의해서 매개변수 arg의 값으로 숫자 1이 함수 안으로 전달된다. 이 매개변수 arg는 함수 get_argument 안에서만 유효하다. 

 

function get_arguments(arg1, arg2){
    return arg1 + arg2
}
 
alert(get_arguments(10, 20));
alert(get_arguments(20, 30));

다음과 같이 복수의 인자와 매개변수를 설정해줄 수 있다. 이러한 함수를 호출 할 때 전달한 인자 10과 20은 함수의 선언부(1행)의 arg1, arg2에 차례로 할당된다. 이렇게 전달된 인자는 함수 내부로 전달되서 더해진 후에 반환된다.

 

함수를 정의하는 다양한 방법

const numbering = function (){
    i = 0;
    while(i < 10){
        document.write(i);
        i += 1;
    }   
}
numbering();

함수전체를 리터럴값으로 numbering에 대입시키는 정의방법이다.

 

(function (){
	i = 0;
    while(i < 10){
    	document.write(i);
        i += 1;
	}
})();

일회성으로 정의, 호출하는 경우 이름을 정의하지않아도 되는 익명함수를 작성하기도 한다.