关于JS的变量提升问题(转载)

JS中的Var变量声明会被提升至作用域顶部,赋值不提升,函数声明提升优先于变量。let和const不会提升,而是形成暂时性死区,未初始化访问会报错。这种行为影响了代码执行顺序和作用域理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Var声明的变量声明提升、函数声明提升、let和const变量不提升 ;

变量提升是指JS的变量和函数声明会在代码编译期,提升到代码的最前面;

变量提升成立的前提是使用Var关键字进行声明的变量,并且变量提升的时候只有声明被提升,赋值并不会被提升,同时函数的声明提升会比变量的提升优先;

变量提升的作用,可以在变量初始化之前访问该变量,返回的是undefined。在函数声明前可以调用该函数。;

拓展:使用let和const声明的变量是创建提升,形成暂时性死区,在初始化之前访问let和const创建的变量会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值