js变量提升和函数提升

这个题的输出是function 原因是函数提升大于变量提升

此时输出是 number 原因是在函数提升和变量提升以后,对a进行了number类型的赋值

使a成为了number

var存在变量提升,变量提升的本质是将其定义提升到其所在的作用域的顶部,但是赋值并不提升。函数提升分两种情况,函数定义,则只提升函数名,函数声明则是将包括函数体的所有内容提升到所在作用域顶部。

接下来看一个示例

此时输出10 

 此时输出undefined,原因是下边的var语句变量提升,导致成为了这样

声名提升而赋值不提升,因此 为undefined

此时输出报错,原因是let存在块级作用域以及暂时性死区,在声名之前无法使用,因此报错

使用const同理 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值