11 js预解析

118 阅读1分钟

js引擎运行

js代码是由浏览器中的js解析器来执行的

js解析器在运行js代码的时候分为两步 : 预解析和代码执行

预解析

js引擎会把js里面所有的 var 和function 提升到当前作用域的最前面

变量预解析 (变量提升)

把所有的变量声明提升到当前作用域的最前面 ,只提升声明不提升赋值

image.png image.png

函数预解析 (函数提升)

就是把所有的函数声明提升到当前作用域的最前面 不调用函数

image.png

代码执行

按照代码书写的顺序从上到下执行

案例

image.png

相当于

image.png