자바스크립트의 함수는 객체 타입의 값이다. 따라서 숫자 값을 숫자 리터럴로 생성하고 ,
객체를 객체 리터럴로 생성하는 것처럼, 함수도 함수 리터럴로 생성 가능하다.
함수 리터럴은 1 function 키워드, 2 함수 이름 , 3 매개 변수, 4 함수 몸체 로 구성된다.
함수 이름
1 함수 이름은 식별자이다. 그러므로 식별자 네이밍 규칙을 만족해야 한다.
2 함수 이름은 함수 몸체 안에서만 참조할 수 있는 식별자이다.
3 함수 이름은 생략 가능하다.
(함수 이름이 있는 함수를 기명함수, 이름이 없는 함수를 익명 함수라고 한다)
매개 변수
0개 이상의 매개변수를 소괄호로 묶고,쉼표로 구분한다.
매개변수는 함수 호출시 순서대로 할당된다.
매개변수도 식별자 네이밍 규칙을 만족해야 한다.
함수 몸체
1 함수가 호출되었을 떄 실행될 문들을 하나의 실행 단위로 정의한 블록이다.
2 함수 몸체는 함수 호출에 의해 실행된다.
함수는 객체이지만 일반적인 객체와는 다르다. 일반 객체는 호출 할 수 없지만, 함수 객체는 호출 할 수 있다.
(일급 객체)