함수란 하나의 로직이 재실행 할 수 있도록 하는 것으로
코드의 재사용성을 높여준다. (변수와 비슷)
함수의 작성 방식
function 함수명( [인자...[,인자]] ){
코드
return 반환값
}
함수를 사용하는 가장 큰 이유는 위에서도 얘기한 코드의 재사용성이다.
이는 프로그램의 유지 보수와 가독성에도 용이하기 때문에
함수의 사용은 메우 중요하다.
함수의 핵심은 입력과 출력이다.
입력한 값을 연산해서 출력하는 것이 함수의 기본 역확이다.
함수에서 출력하는 방법이다.
함수 내에서 사용한 return은 뒤에 따라오는 값을
함수의 결과로 변환함과 동시에 함수를 종료시킨다.
[예시]
function title_1(){
return 'pangho';
}
function title_2(){
return 'name';
}
alert(title_1());
alert(title_2());
/* title_1은 pangho를 출력하고 title_2는 name을 출력한다. */
또한 return을 여러번 사용해도 제일 처음 작성한 return만 적용된다.
[예시]
function title(){
return 'pangho';
return 'pangho297';
return 'pangho7733';
}
alert(title());
// pangho만 출력된다 //
함수로 유입되는 입력값을 말한다.
인자로 넣는 값에 따라 함수가 출력하는 값이나 동작등을 다르게 할 수 있다.
[예시]
function get_argument(arg){
return arg;
}
alert(get_argument(1));
alert(get_argument(2));
여기서 alert(get_argument(1));
에 있는 숫자 1이 인자이다.
1이라는 값이 함수에 정의된 변수(arg
)에 전달된다.
함수는 여러개의 인자를 받을 수 있다.
[예시]
function get_arguments(arg1, arg2){
return arg1 + arg2
}
alert(get_arguments(10, 20));
alert(get_arguments(20, 30));
함수를 호출할 때 절달한 인자 10과 20은
함수의 선언부의 arg1, arg2에 차례로 할당된다.
이렇게 전달된 값은 함수 내부로 전달되서 더해진 후 출력된다.
JavaScript는 함수를 정의하는 여러 방법을 제공하며
아래 예시는 그중 하나 이다.
[예시]
var numbering = function (){
i = 0;
while(i < 10){
document.write(i);
i += 1;
}
}
numbering();
/*
function numbering(){
i = 0;
while(i < 10){
document.write(i);
i += 1;
}
}
numbering();
이 두개는 같은 함수이다.
*/
이 외에도 익명함수라는 것이 존재하는데
아래와 같이 표현된다.
[예시]
(function (){
i=0;
while(i<10){
document.write(i);
i+=1;
}
})();
이렇게 적은 함수는 함수 호출 기호 ();만 사용하면
정의된 함수를 바로 호출할 수 있다.