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

(2019-10-17)

자바스크립트 함수 종류, 함수 표현식, 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. JS 함수 인수 5. 실행 컨텍스트 6. 클로저 7. 화살표 함수,중첩 함수 8. this 키워드 9. 즉시 실행 함수

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