首页 > 编程知识 正文

var变量提升,let有没有变量提升

时间:2023-05-06 01:50:36 阅读:234685 作者:4180

1.啥叫变量提升? 我们知道变量如果没定义就输出的话,就会报错not defined

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

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

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


2.let没有变量提升

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。