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

(2018-11-06)

자바스크립트 함수 종류, 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. 문맥 4. 클로저
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
        2.   자바(Java)
        3.   자바스크립트
              1. JavaScript
              2. JS 연산자
              3. 기초 문법
          1.   JS 변수,타입
          2.   JS 이벤트
          3.   JS 함수
          4.   JS 객체
          5.   JS 배열
          6.   JS 활용
          7.   jQuery
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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