자바스크립트 함수 생성 방법 종류

(2018-10-10)

Anonymous Function, 익명 함수, Function Literal, 함수 리터럴

1. 자바스크립트 함수 생성 방법의 종류 

  ㅇ 명시적 함수 또는 정적 함수 또는 이름있는 함수
     - `function 키워드를 사용`하여 선언
function 함수명() {
   // 자바스크립트 코드문
}
- 특징 . 자바스크립트를 처음 읽을 때만 해석됨 ㅇ 함수식 또는 함수 표현식 - 자바스크립트함수도 하나의 값 처럼 취급됨 . 즉, 아래 (익명 함수,함수 리터럴 등)들 처럼 함수변수에 할당하는 것이 가능 . 이 경우, 함수 이름은 필수가 아닌 선택이며, 통상 사용하지 않음 ㅇ 익명 함수 또는 이름없는 함수 - 함수 이름을 정의하지 않아도, 함수가 정의될 수 있는 이름 없는 함수 - `익명 함수`의 선언 및 사용 방법
var doSomething = function (x,y) { 
    // 함수 본문
};

doSomething(a,b);
- 특징 . 이름이 없기 때문에, .. 접근할 때에 비로소 해석됨 .. 변수에 할당시켜, 그 변수를 통해 함수를 호출할 수 있음 . 실행될 때 함수 몸체가 해석되며, 실행 전에는 함수 몸체를 알 수 없음 ㅇ 함수 리터럴 - 함수를, . 리터럴(직접 입력한 문자열 처럼 보임)로써 만들고, . 이렇게 정의된 함수변수에 할당함으로써, . 함수를 생성하는 것 - 함수 리터럴을 사용하여 함수 생성 例
function otherFunction(x, y, z) {
    // 함수 본문
}

var param = function(x,y) { // 함수 본문 };
    // 여기서, 함수 리터럴은 `function(x,y) { ... }` 부분을 말함

otherFunction(param, a, b);
    // 여기서, param은 함수 리터럴에 의해 정의되어 할당된 변수(함수 표현식)
- 특징 . 함수 리터럴은 익명 함수의 일종임 ㅇ 함수 객체 생성자 - 함수 객체 생성자 new Function() 참조를 사용하여, 익명 함수로써 선언 방법 例
例 1) 
var square = new Function("x", "return x * x");
squar(3);           // 숫자 9 출력

例 2) 
var functionName = new Function (x,y, functionBody);
functionName(a,b);  // 호출시에 Function 함수 객체에서 두 인수 a,b를 처리하게 됨


[JS 함수] 1. JS 함수 2. JS 함수 종류

 
        최근수정     요약목록(시험중)     참고문헌