目标
- 能够知道解析器运行JS分为哪两步
- 能够说出变量提升的步骤和运行过程
- 能够说出函数提升的步骤和运行过程
目录
- 预解析
- 变量预解析和函数预解析
- 预解析案例
1.预解析
- 我们js引擎运行js分为两步: 预解析 代码执行
- 预解析 js引擎会把js里面所有的var还有function提升到当前作用域的最前面
- 代码执行 按照代码书写的顺序从上往下执行
- 预解析分为 变量预解析(变量提升) 和 函数预解析(函数提升)
- 变量提升 就是把所有的变量声明提升到当前的作用域最前面 不提示赋值操作
- 函数提升 把所有的funtion函数声明的函数提升到当前作用域最前面,以变量声明的函数只提升变量声明,不提升函数本体