Function

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

함수는 다른 코드에서 또는 자신에 의해 호출되거나 함수 레퍼런스를 저장한 변수에 의해 호출될 수 있는  코드조각이다. 함수가 호출될 때 함수의 입력으로 인수 가 전달되고 함수는 선택적으로 출력값을 반환할 수 있다.  또한 JavaScript에서 함수는 개체가 될수도 있다.

함수명은 함수선언문 또는 함수 표현식의 일부로서 선언된 식별자이다. 함수 이름의 범위는 함수이름의 선언되었는지 또는 표현식인지에 따라 결정된다.

여러 함수 형식들

이름없는 함수는  함수명이 없는 함수이다:

function () {}

이름있는 함수는 함수명을 갖는 함수이다 :

function foo() {}

안쪽 함수는 다른함수 내부에서 정의된 함수이다(아래예에서는 square). 바깥 함수는 함수를 포함하고 있는 함수이다(아래예에서는 addSquares):

function addSquares(a,b) {
   function square(x) {
      return x * x;
   }
   return square(a) + square(b);
}

재귀호출 함수는 자기 자신을 호출하는 함수이다. recursion 참조.

function loop(x) {
   if (x >= 10)
      return;
   loop(x + 1);
}

즉시실행되는 함수표현식 (IIFE)은 브라우저 컴파일러에 함수가 로드된 후 직접 호출되는 함수이다.  IIFE를 식별하는 방법은 함수 선언의 끝에 여분의 왼쪽과 오른쪽 괄호를 두는 것이다. 이런 함수표현식의 형식은 많은 장점을 갖고 있지만 여기서는 일일이 설명하지 않는다.

// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
/*
​function foo() { 
    console.log('Hello Foo'); 
}();
*/

(function foo() {
    console.log("Hello Foo");
}());
// Douglas Crockford's style


(function food() {
    console.log("Hello Food");
})();

IIFE에 대해 더 많은 설명이 필요하다면 위키피디아의 다음 페이지를 확인 바랍니다.: Immediately Invoked Function Expression

Learn more

Technical reference

문서 태그 및 공헌자

 이 페이지의 공헌자: ibizcox
 최종 변경: ibizcox,