함수란, 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다.
function 함수명( [인자...[,인자]] ){
코드
return 반환값
}
함수는 function 뒤에 함수의 이름이 오고, 소괄호가 따라온다. 소괄호에 인자라는 값이 차례로 들어오는데 이 값은 함수를 호출할 때 함수의 로직으로 전달된 변수이다. 인자는 생략할 수 있다. 함수를 호출 했을 때 실행하게 될 부분이 중괄호 안쪽에 온다.
변수도 이름이 있듯이, 함수도 이름이 있다. 함수 이름을 부르면, 함수 내에 있는 코드가 실행된다.
함수 이름을 부르는 것을 앞으로 "함수를 호출한다" 라고 표현한다.
예를들어,
function checkCorrect() {
let hi = "안녕하세요";
return hi;
}
checkCorret();
이 함수를 보면 함수의 이름은 checkCorrect()이다. 이렇게 함수를 생성하고, 다음과 같이 함수를 호출한다.
checkCorret();
이처럼 함수를 호출하지 않고 위에 부분처럼 함수를 정의한것만으로는 함수 내부가 실행되지 않는다.
함수의 핵심은 입력과 출력이다. 입력된 값을 연산해서 출력하는 것이 함수의 기본적인 역할이다. 다음 함수에서 입력과 출력의 역할을 하는 구문들에 대한 설명이다.
함수 내에서 사용한 return은 return뒤에 따라오는 값을 함수의 결과로 변환한다. 동시에 함수를 종료 시킨다.
function get_member1(){
return 'egoing';
}
function get_member2(){
return 'k8805';
}
alert(get_member1());
alert(get_member2());
결과값
'egoing'
'k8805'
get_member1와 get_member2를 출력한 결과가 각각egoing, k8805인 이유는 함수 내에서 문자열 egoing, k8805를 return 하였기 때문이다.
return은 결과를 반환하는 것 외에 함수를 중지시키는 역할도 한다.
function get_member(){
return 'egoing';
return 'k8805';
return 'sorialgi';
}
alert(get_member());
결과값
'egoing'
k8805와 sorialgi는 출력하지 않았다. 이유는 return 'egoing'을 실행한 후에 함수가 종료되었기 때문이다. return 'k8805' 이하는 어떠한 경우도 실행되지 않는다.
인자는 함수로 유입되는 입력값을 의미한다. 어떤 값을 인자로 전달하느냐에 따라 함수가 변환하는 값이다 매소드의 동작 방법을 다르게 할 수 있다.
function get_argument(arg){
return arg;
}
alert(get_argument(1));
alert(get_argument(2));
결과값은 1,2이다.
여러개의 입력값을 받고 싶다면 다음과 같이 하면 된다.
function get_arguments(arg1, arg2){
return arg1 + arg2
}
alert(get_arguments(10, 20));
alert(get_arguments(20, 30));
결과값은 30,35 이다.
함수 작성에 익숙해지셨나요?
아래의 설명을 듣고 함수를 작성해주세요.
함수 이름은 checkYear입니다.
올해 년도를 return합니다.
년도를 작성할 때는 ""(쌍따옴표)없이 숫자만 4자리 써주세요.
function checkYear(){
let years = 2020;
return years;
}