Javascript Function   자바스크립트 함수

(2017-06-10)

함수 , Function

1. 함수 이란?

  ㅇ [프로그래밍 일반]   
     - 함수란 일단 정의되면 여러번 호출되며 실행될 수 있는 프로그램 블록

  ㅇ [자바스크립트 언어]  
     - `C 언어함수`,`자바 언어메서드` 등과는 달리, 
     - 자바스크립트 함수는 그 자신이 객체이며, 다른 객체를 생성할 수 도 있음
        . 자바스크립트 함수는 특별한 객체 로써,
           .. `실행 가능`,`호출 가능`이라는 특징을 갖는 특별한 객체 임
     - 자바스크립트 함수객체이므로, 그 안에 프로퍼티,메서드가 있음
        . String,Number,Date 등의 다른 객체 타입 처럼 객체 타입으로 취급됨


2. 자바스크립트 함수의 특징 (통상의 언어와의 차별점)함수변수에 할당할 수 있음
     - 함수명과 변수명의 경계가 모호함 (명칭상으로 구분 안되며, 사실상 같음)

  ㅇ 익명 함수의 구현 가능
     - 익명 함수는, 이름없는 수행 대상을 호출할 수 있도록 명칭,함수기능이 있는 것에 불과함

  ㅇ 함수매개변수로 전달할 수도 있고, 함수 그 자체를 반환할 수도 있음
     - 즉, 함수를 다른 함수에 의해 인수 또는 반환할 수 있음
        . 함수 그 자체가 인수나 리턴 값으로 사용할 수 있음
     - 이를두고 1급 함수(first-class function)라고도 함

  ㅇ 함수 리터럴을 이용하여 생성될 수 있음
     - (3.항 ③번 참조)

  ㅇ 하나의 데이터(프로퍼티) 만 갖도록 할 수 있음

  ㅇ 함수 할당이 다양함
     - 객체프로퍼티함수를 할당할 수 있음
     - 배열 내 원소를 통해서도 할당(정의,저장)할 수 있음


3. 자바스크립트 함수의 종류 셋

  ㅇ ①  명시적 함수 또는 정적 함수 또는 이름있는 함수
     - `function 키워드를 사용`하여 선언됨. 자바스크립트를 처음 읽을 때만 해석됨
       
function 함수명() {
   // 자바스크립트 코드문
}
ㅇ ② 익명 함수 또는 이름없는 함수 - 이름이 없는 함수로써, 접근할 때 마다 비로소 해석됨 - `익명 함수`의 선언 및 사용 방법
var doSomething = function (x,y) { 
    // 함수 본문
};

doSomething(a,b);
- `함수 생성자 new Function`에 의한 익명 함수 선언 방법 . new Function() 객체 참조를 사용하여 선언하는 例
var functionName = new Function (x,y,functionBody);
functionName(a,b); // 호출시에 Function 함수 객체에서 두 인수를 처리하게 됨
- 특징 . 이름이 없기 때문에 변수에 할당되어, 그 변수를 통해 함수를 호출할 수 있음 . 실행될 때 함수 몸체가 해석되며, 실행 전에는 함수 몸체를 알 수 없음 ㅇ ③ 함수 리터럴 또는 함수식 또는 리터럴 함수 - `객체,리터럴로써 사용`되는 함수 . 리터럴 함수 사용하여 선언하는 例
function otherFunction(x, y, z) {
    // 함수 본문
}

var param = function(x,y) { // 함수 본문 };  // 리터럴 함수
otherFunction(param, a, b);
4. 자바스크립트 함수에서 암묵적 매개변수함수 호출시 명시적으로 언급된 인수 외에도, 암묵적으로 arguments, this 가 전달됨 - arguments 매개변수 : 언급되어 전달된 모든 인자들을 담고있는 컬렉션 - this 매개변수 : 함수 호출과 관련된 묵시적인 객체를 참조 . 이를 함수/호출 컨텍스트(function/invocation context)라고도 함


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

 
        최근수정     모바일웹     참고문헌