笔记:JavaScript变量的生命周期

var变量的生命周期

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

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

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

let变量的生命周期

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

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

函数声明的生命周期

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


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值