拜读Lydia Hallie 的文章有感。遂记录一笔。
当JS引擎获取我们的脚本时,它要做的第一件事就是为代码中的标识符分配内存。 注意此时没有执行任何代码。
- 函数变量存储的是函数在内存中的引用地址;
-
let
、const
声明的变量,存储的是<uninitialized>
; -
var
声明的变量,存储的是undefined
;
var
现在创建阶段已经完成,我们可以执行代码了。在let
、const
关键字,真正开始声明变量之前的区域,被称为暂时性死区。当我们想要在此区域提前引用对应变量时,会提示ReferenceError
。
网友评论