执行上下文是一个抽象的环境概念,在这个环境里 JavaScript 代码被解释和执行。每当代码在 JavaScript 中运行,它都是在一个执行上下文中运行。
执行上下文有三个类型:
全局执行上下文 函数执行上下文 eval函数执行上下文创建执行上下文的过程分为两步:
词法环境里变量的初始值是
uninitialized;
变量环境里变量的初始值是undefined;这就是为什么会有变量提升和暂存死区的原因,而在词法环境的执行阶段下,如果找不到let变量的值会被赋值为undefined。