JS: 变量提升与时间死区

开始执行脚本时,执行脚本的第一步是编译代码,然后再开始执行代码,如图 另外,在编译优化方面来说,最开始时也并不是全部编译好脚本,而是当函数执行时,才会先编译,再执行脚本,如图 Lexical Environment 变量提升 如下图,左边灰色块区域,是演示函数执行前的编译阶段,先抽出所有声明变量...