变量提升 先说三句总结性的话: let 的「创建」过程被提升了,但是初始化没有提升. var 的「创建」和「初始化」都被提升了. function 的「创建」「初始化」和「赋值」都被提升了. 所以,我们要注意,这三种变量提升,含义是不同的. 变量提升的规律 在进入一个执行上下文后,先把 var 和 function 声明的变量前置,再去顺序执行代码. PS:作用域分为全局作用域和函数作用域,用var声明的变量,只在自己所在的所用域有效. 我们举例来看看下面的代码. 代码 1: console.l