javascript 클로저

북마크 추가

 

클로저는 함수 실행 후에도 로컬 변수가 사라지지 않고 상태를 유지할 수 있게 하는 기법이다.

 

function add(){

var sum= 0;

 

return function(num){

sum +=num;

return sum;

};

}

 

var result = add();

result(1) ->1 출력

result(2) -> sum은 local변수기 때문에 2가 출력될거 같지만 1+2 = 3 이 출력된다.

 

클로저는 특정 함수가 다른 함수를 참조하기 때문에 현재 호출 되는 함수가 다른 함수의 메모리 공간을 참조해서 사용한다.

 

즉시샐행 함수

 

var result = (function add(){

var sum= 0;

 

return function(num){

sum +=num;

return sum;

};

})();

 

함수를 한번 실행하는 것을 목적으로 만든다.

외부에서 함수를 호출하는 코드가 필요 없다는 장점이 있다.

초기화에 많이 사용된다.

AD
관리자
2014-09-02 11:12
SHARE