본문 바로가기

개발개발

self-executing anonymous function

자바스크립트에서는 함수 선언(function declaration)과 함수 표현식(function expression) 두가지 방법으로 함수를 만들 수 있다.

함수 선언은 다음과 같다.
//함수 선언
function function_name() {
...some code...
}
//함수호출시
function_name();
함수 표현식은 함수명 없이 function 키워드만으로 이루어져 있는데, 요런 형태를 이름이 없는 함수(nameless function) 또는 익명함수(anonymous function)라고 한다.
//함수표현식
function(){
...some code...
}
함수 표현식은 이름이 없으므로 함수 이름을 통해 호출할 수가 없지만, 함수 표현식 뒤에 바로 ()를 붙여서 선언된 곳에서 바로 실행하거나 변수에 할당하여 실행할 수 있다.
//함수 표현식
function(){
...some code...
}(); //실행문이므로 세미콜론(;)를 붙여준다.
//코드 가독성을 위해 함수부분을 ()로 감싸주기도 한다.
(function(){
...some code...
})();
//변수에 함수표현식을 할당하여 호출
var function_call = function(){
...some code...
};
function_call();
위에서처럼 선언된곳에서 바로 실행되는 이름 없는 함수를 자기실행 익명함수(self-executing anonymous function) 혹은 자기호출 익명함수(self-invoking anonymous function)라고 한단다. prototype 나 jquery 같은 자바스크립트 프레임워크에서 자주 사용되고 있으니 알아두면 당황하지 않고 코드를 읽을 수 있을듯.

'개발개발' 카테고리의 다른 글

Simple Logging Facade for Java  (0) 2011.10.01
context binding  (0) 2011.09.26
@SuppressWarnings("unchecked") does not ignore raw types warnings anymore  (0) 2011.09.22
Dynamic Web Module?  (1) 2011.09.15
Oracle 날자 관련 함수  (0) 2010.04.09