对变量提升理解

330 阅读1分钟

v8引擎编译一段js代码之前会创建一个环境 环境中包括

这里有一个叫全局作用域

编译阶段会把全局环境中的变量。以及函数表达式,函数声明 ,按照第一个图那样处理。 也就是所有的变量都放到了作用域中,当具体执行的时候去作用域当中找就行了,所以你可以提前使用。

但是,只不过对于变量跟函数表达式 默认赋值为undefined,函数声明默认赋值函数体。