함수를 알아보기 전에 몇 가지 용어를 정리해보자.
함수를 사용하는 것을 함수 호출, 즉 '함수를 호출하다'
고 표현 한다.
함수를 호출할 때는 괄호 내부에 여러가지 자료를 넣는데, 이러한 자료를 매개변수
라고 부른다.
그리고 함수를 호출해서 최종적으로 나오는 결과를 리턴값
이라고 부른다.
alert()
prompt()
f()
위와같은 함수에 함수() 와 같은 함수뒤에 괄호를 열고닫는 행위를 함수를 호출한다
고 부른다. 이말은 즉 함수의 본문을 실행한다고 볼 수 있다.
함수() -> 함수를 호출! = 함수의 본문 실행!
점프 : 호출 위치에서 함수 본문으로 이동하는 것
리턴 : 함수 본문에서 호출 위치로 나오는 것
함수
는 코드의 집합이다.
그래서 함수
를 실행하면 여러 코드를 한 번에 묶어서 실행할 수 있으며, 필요할 때마다 호출
하여 반복적으로 사용할 수도 있다.
함수
의 자료형은 function
이며 현재 코드에서 함수를 출력하면
f() {}
라고 출력된다.
이때 f
는 함수
를 나타낸다.
함수
를 출력했을 때 별다른 이름이 붙어있지 않은 것을 볼 수 있는데, 이처럼 이름이 붙어있지 않은 함수를 익명함수(anonymous function)
라고 표현한다.
함수를 호출을 했을때, 함수의 본문으로 이동을 하는 과정을 '점프'
했다 라고 표현한다.
8번째줄에 f()
가 함수 호출 위치이다.
함수 끝 -> 원래 위치로 돌아감 = 리턴
함수 호출 위치를 더 잘 이해해보려면 아래 예제를 보자.
두번째코드에서 에러가 나는 이유는 함수 호출위치인 8번째 줄로 돌아가므로 그 위치 아레에 선언된 x 는 적용이 되질않는다!
매개변수를 사용하여 만들 수 있다.
f(x)의 리턴값은 15이다
라고 표현한다.
일반적으로 다음과 같이 이름이 있는 함수를 많이 사용한다.
function 함수() {
함수본문
}
const 함수이름 = function () {}
매개변수를 사용하여 코드를 짧고 간결하게 쓸수있고, 필요할 때마다 코드를 다시 쓸 필요도없다.
즉 예를들어 아래예제와같이 10까지의 숫자합을 구한다거나 20까지의 숫자합을 구할때 매개변수를 써주면 숫자 10,20만 매개변수에 넣어주면 됨.
const f = function(매개변수){
return 리턴값
}
f() // 함수 호출 = 함수 실행