转载地址http://dmitrysoshnikov.com/ecmascript/chapter-1-execution-contexts/
In this note we will mention execution contexts of ECMAScript and types of executable code related with them.
Definitions
Every time when control is transferred to ECMAScript executable code, control is entered anexecution context.
Execution context (abbreviated form — EC) is the abstract concept used by ECMA-262 specification for typification and differentiation of an executable code.
The standard does not define accurate structure and kind of EC from the technical implementation viewpoint; it is a question of the ECMAScript-engines implementing the standard.
Logically, set of active execution contexts forms a stack. The bottom of this stack is always a global context, the top — a current (active) execution context. The stack is modified (pushed/popped) during the entering and exiting various kinds of EC.
Types of executable code
With abstract concept of an execution context, the concept of type of an executable code is related. Speaking about code type, it is possible in the certain moments to mean an execution context.
For examples, we define the stack of execution contexts as an array: