变量提升

1.啥叫变量提升?

我们知道变量如果没定义就输出的话,就会报错not defined

image.png

如果是在定义语句的上面调用的话,就会输出undefined,为啥嘞?

image.png

这种情况就叫做变量提升,在定义语句上面调用变量的话,会假设在调用语句上面加了一句定义而未赋值的语句

image.png

当然我们知道,如果定义一个变量但没给他赋值的话,就会得到undefined,so,变量提升的结果就是undefined
对于var 而言,变量提升不只限于定义变量的时候,定义函数的时候也支持变量提升
我们知道有两种定义函数的方式,一种是用function关键字声明定义,一种是函数直接量的方式,第一种方式,你随便在哪调用都行,可以在定义之前调用。第二种方式的话,你就不能在定义之前调用,会报错说函数未定义,输出那个变量的话就是undefined,原理就是变量提升

image.png
image.png

2.let没有变量提升

image.png

没错,没有变量提升的let,如果你在定义它之前输出它的话,就会报错了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值