본문 바로가기
WEB/JavaScript

클로저

by 노랑파랑 2016. 10. 12.
반응형

클로저

* 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것.

내부함수는 외부함수의 지역변수에 접근할 수 있다.



* 유효범위 체인을 이용하여 이미 생명주기가 씉난 외부 함수의 변수를 참조하는 방법.


※ 유효범위 체인 ( Scope Chain)

  :  함수가 중첩함수일 때 상위함수의 유효범위까지 흡수하는 것.

즉, 하위 함수가 실행되는 동안 참조하는 상위 함수의 변수 또는 함수의 메모리를 참조하는 것이다.

  :  해당 함수를 호출한 부모 함수가 가진 변수 객체가 실행 문맥의 리스트에 추가된다.

즉, 중첩 함수를 정의하면 전역 변수의 객체, 상/하위 객체간에 부모/자식 관계가 형성되고, 함수가 실행될 때 

유효범위를 생성하고, 해당 함수를 호출한 부모 함수가 가진 변수 객체가 실행 문맥의 리스트에 추가된다.


즉, 외부 함수가 종료되더라도, 내부함수가 실행되는 상태면 내부함수에서 참조하는 외부함수는

닫히지 못하고 내부함수에 의해 닫히게 되어 클로저라고 불리는 것이다.



반응형

'WEB > JavaScript' 카테고리의 다른 글

생성자  (0) 2016.10.13
arguments  (0) 2016.10.12
함수, 콜백, 비동기 처리  (0) 2016.10.12
유효범위  (0) 2016.10.12
2016-10-11 공부한것 정리 1  (0) 2016.10.12