A module environment is a Lexical Environment that contains the bindings for the top level declarations of a .
The outer environment of a module environment is a global environment.
A function environment is a Lexical Environment that corresponds to the invocation of an ECMAScript function object.
A function environment may establish a new method invocations.
The outer reference of a (inner) Lexical Environment is a reference to the Lexical Environment that logically surrounds the inner Lexical Environment.
An outer Lexical Environment may, of course, have its own outer Lexical Environment.
A Lexical Environment may serve as the outer environment for multiple inner Lexical Environments.
The global environment’s outer environment reference is null.
A global environment’s Environment Record may be prepopulated with identifier bindings and includes an associated global object whose properties provide some of the global environment’s identifier bindings.