함수 실행 모델

함수 호출은 콜 스택을 쌓고, 변수 탐색은 스코프 체인을 따라간다

실행 순서와 이름 탐색은 다른 축입니다. 호출은 스택에 쌓이고, 변수는 현재 환경에서 바깥 환경으로 찾습니다.

콜 스택: 실행 순서

3 inner() 현재 실행
2 outer() 복귀 대기
1 global 프로그램 시작

스코프 체인: 이름 탐색

Local

value먼저 확인
temp함수 내부

Outer

count클로저 후보
name상위 함수

Global

window전역 객체
config마지막 후보

호출 위치

함수가 호출되면 새 실행 컨텍스트가 스택 맨 위에 올라갑니다.

선언 위치

변수 탐색 경로는 함수가 어디에 선언되었는지에 의해 결정됩니다.

종료 위치

함수가 반환되면 프레임은 사라지지만, 클로저가 잡은 환경은 남을 수 있습니다.