
기본 함수 정의문은 함수 안에 있는 코드를 실행할때 단순히 함수명으로 호출해서 함수를 실행했다. 즉, 함수를 호출할때 값을 전달할 수 없었다.
하지만 매개 변수가 있는 함수 정의문은 함수를 호출하고자 할때 전달하려는 값을 인수로 넣어 전달할 수 있다. 이렇게 전달 된 값은 매개 변수가 받아 함수 정의문에서 사용할 수 있다.

이때 변수 sum은 num1과 um2를 합한 값을 담는 변수이다. 또한 지역변수이기때문에 함수안에서만 유효범위를 가진다.

인수값은 왼쪽부터 순차적으로 매개변수값에 대입되며 초깃값이 있는 매개변수는 값이 수정된다.
1.매개변수의 갯수와 인수의 갯수가 일치하는 경우
function 함수명(매개변수1,매개변수2,매개변수3...){
자바스크립트 코드;
}
함수명(인수1,인수2,인수3...);
2.매개변수에 기본 값을 정의한 경우
function 함수명(매개변수1,매개변수2,매개변수3= 초깃값){
자바스크립트 코드;
}
*인수를 지정하지 않을 경우 매개변수3은 초깃값이 입력된다.
함수명(인수1,인수2);
아래와 같이 매개변수를 이용해서 문자열을 출력할 수 있다.




🌱prompt창을 통해 userID와 userPW를 입력받는다. 그 후에 받은 값을 인수값으로
매개변수에 보내면서 함수가 실행된다. 함수 안에 조건문이 실행되는데 일치여부에 따라 값이 달라지게된다.
만약 함수를 실행할때마다 받아와야 하는 인수의 갯수가 달라지거나, 혹은 인수가 너무 많은 경우 매개변수없이 arguments키워드를 이용하여 인수를 받아올 수 있다.
이때 argument는 인수들을 배열로 값을 받는다.
[기본형]
function 함수명(){
arguments;
자바스크립트 코드;
}
함수명(인수1,인수2,인수3...);

사용자로부터 숫자를 입력받아서 0부터 사용자가 입력한 숫자까지를 모두 더하는 누산기를 만들기

함수 정의문 내에서 작성한 코드로 함수를 다시 호출하는 것을 재귀 함수 호출이라고 한다.
재귀 함수 호출은 반복문처럼 여러 번 호출하기 위해 사용한다.
[기본형]
function 함수명(){
자바스크립트 코드();
함수명(); <- 재귀 함수 호출
}
함수명();

