자바스크립트의 함수는 코드의 재사용 에 목적을 둔다.
자바스크립트의 함수는 일급객체 이므로 아래와 같은 특징이 있다.
일급객체
다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.
생성,대입,연산,인자 또는 반환값으로서의 전달 등 프로그래밍 언어의 기본적 조작을 제한없이 사용할 수 있는 대상을 의미한다.
즉
함수의 일급객체 특성을 이용하여 함수 리터럴 방식으로 함수를 정의하고 변수에 할당할 수 있는데 이러한 방식을 함수 표현식 이라 한다.
var foo = function (p1, p2) { //여기에서는 파라미터
console.log(p1, p2); // 1 undefined
};
foo(1); //여기에서는 인자