javaScript 执行上下文的理解
javaScript 执行上下文的理解
创建 也就是申明变量阶段
this 的确定
全局执行上下文, this 指向全局对象。
函数执行上下文, 取决于取决于函数的调用方式。
词法环境
存储变量和函数,访问外部词法环境
- 全局环境: 没有外部词法环境,外部环境引用为null, 拥有全局变量window,以及关联的方法熟悉,和自定义的变量和函数,this 指向全局对象
- 函数环境: 在函数中定义的变量,存储在函数环境中, 外部环境时全局环境或者创建该函数的 函数环境
变量环境
变量环境也时词法环境,
申明变量函数的几种方式 var let const function
其中 变量环境 存储 var 申明的变量, 词法环境 存储 let const function 声明的变量和函数
执行
在执行的阶段,对变量进行赋值分配,然后执行代码
在执行的时候, 如果申明的变量没有被赋值, 就分配给它 undefined