[프로그램의 실행과 평가과정] 실행 가능한 코드는 크게 세 가지로 나뉘며, 이들 코드는 평가 후, 적절한 실행문맥(E.C.)을 형성하게 된다. 실행문맥의 구조를 그림으로 그리면 아래와 같다. 위와 같은 실행문맥은, Stack이라는 가상의 자료구조로 관리가 되며, Stack에 새로운 문맥이 들어오는 것을 push, 기존에 존재하던 문맥이 삭제되는 것을 pop이라고 한다. 스택의 가장 아랫부분에는 전역 코드를 실행하기 위한 전역 실행 문맥이 존재한다. 어떤 함수를 호출(Call)하게 되면, 그 즉시 스택에 새로운 실행 문맥이 push되며, 해당 함수의 작업을 모두 마치고 return을 하게 되면(명시되어있지 않은 경우 undefined를 반환하며 함수를 마친다.), 해당 함수에 대한 실행 문맥은 pop되어 ..