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

(2018-11-29)

자바스크립트 함수 종류, Anonymous Function, 익명 함수, Function Literal, 함수 리터럴

1. 함수 선언문 형식에 의한 자바스크립트 함수 생성 방법

  ㅇ `명시적 함수` 또는 `정적 함수` 또는 `이름있는 함수` 또는 `함수 선언문`
     - `function 키워드` 및 함수명을 사용하여 선언
function 함수명() {
   // 자바스크립트 코드문
}
- 특징 . 자바스크립트를 처음 읽을 때만 해석됨 . 이렇게 생성된 함수는 호출문이 이보다 앞에 있어도 호출 가능 2. 함수식 형식에 의한 자바스크립트 함수 생성 방법함수식 또는 함수 표현식 이란? - 자바스크립트함수도 하나의 값 처럼 취급됨 . 즉, 아래 (익명 함수,함수 리터럴 등)들 처럼 함수변수에 할당하는 것이 가능 . 이 경우, 함수 이름은 필수가 아닌 선택이며, 통상 사용하지 않음 - 특징 . 이렇게 생성된 함수는 호출문이 이보다 앞에 있으면 호출 불가능 .. 통상, 함수식의 변수 할당에는 함수식의 참조가 할당되어야 하므로 ※ 익명 함수 또는 이름없는 함수 이란? - 함수 이름을 정의하지 않아도, 함수가 정의될 수 있는 이름 없는 함수 - `익명 함수`의 例)
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 함수 종류 3. Function 객체 4. 실행 컨텍스트 5. 클로저 6. 화살표 함수,중첩 함수 7. this 키워드

 
        최근수정     요약목록     참고문헌