Execution Context
An Execution Context is a concept in programming that refers to the environment in which a piece of code is executed. It includes information about the variables, functions, and objects that are accessible at that moment. Each time a function is called, a new execution context is created, allowing the code to run with its own set of parameters and scope.
There are three main types of execution contexts: the global context, function context, and eval context. The global context is the default environment where code runs initially, while the function context is created whenever a function is invoked. The eval context is created when code is executed within an `eval()` function.