笔记:JavaScript变量的生命周期

226 阅读1分钟

var变量的生命周期

当引擎访问变量的时候,它们的生命周期包括下面几个阶段:

  1. 声明阶段:在作用域中注册一个变量
  2. 初始化阶段:分配内存,给作用域中的变量创建绑定。在这个阶段,变量自动地被初始化为undefined
  3. 赋值阶段:给已经初始化过的变量赋值

通过声明阶段但是没有到达初始化阶段的变量是处于未定义的状态。

let变量的生命周期

提升就是变量在作用域顶部进行声明和初始化。但是let的生命周期将声明和初始化两个阶段解耦了。解耦让提升这个术语失效了。

两个阶段中间的间隙创建了暂时性死区,在初始化之前,变量不能被访问。

函数声明的生命周期

在作用域里面,在所有语句执行之前,函数通过了三个阶段:声明、初始化、赋值。 


作者:我很可爱你信不信
链接:https://juejin.cn/post/6844903574766370829
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。