티스토리 뷰

Lexical 환경에서 one도 할당되고 addOne은 초기에 이미 선언 완료됨

 

 

addOne(5)이라는 함수가 실행되어 새로운 Lexical 환경이 생김

이 Lexical환경에는 함수가 넘겨받은 매개변수와 지역변수들이 저장됨

 

 

함수가 호출되는 동안 전역, 내부 Lexical 환경 두개를 가짐

내부 Lexical 환경은 전역 Lexical 환경을 참조할 수 있음

 

 

내부 Lexical 환경에 one이 없어서 전역 Lexical 환경을 참조해 one을 찾아 계산을 함


makeAdder와 add3을 선언해 전역 Lexical 환경이 생성됨

 

 

add3 위치의 코드가 실행되면서 새로운 Lexical 환경이 생성됨

 

 

makeAdder 함수가 실행되어 add3은 return하는 함수가 됨

 

 

마지막 줄의 코드가 실행되면서 add3의 값인 익명함수의 Lexical 환경이 또 생성됨

 

 

그리고 참조해가며 계산을 함


add3 함수가 생성된 이후에도 상위함수인 makeAdder의 x에 접근 가능

 

 

add10과 add3은 서로 다른 Lexical 환경을 가진다

그래서 add3의 값은 변화가 없음


이렇게 클로저를 이용해 은닉화도 가능

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함