함수는 세 종류가 있다.
명시적 함수 혹은 정적 함수
명시적 함수는 function
키워드를 사용하며, 자바스크립트 프로그램을 처음 읽어 들일 때 해석된다.
익명 함수 혹은 함수 생성자
익명 함수는 new
연산자와 Function
객체 참조를 사용해서 만든다. 익명 함수라고 부르는 이유는 함수에 이름이 없고 접근할 때 변수나 다른 객체 속성을 통해야 하기 때문이다. 접근할 때마다 해석된다.
함수 리터럴 혹은 함수식
함수도 객체와 리터럴로 사용할 수 있다. 리터럴 함수는 인수와 몸체를 포함한 함수식이다. 리터럴 함수는 다른 함수에 인수 등으로 사용되기도 한다. 명시적 함수와 같이 자바스크립트 애플리케이션을 읽어 들일 때 한 번만 해석된다. 객체로 생성된 함수처럼 익명으로 만들 수도 있다.