21.说一说JS变量提升?
得分点:
Var
声明的变量声明提升、函数声明提升、let
和const
变量不提升
标准回答:
- 变量提升:
是指JS的变量和函数声明会在代码编译期,提升到代码的最前面。
- 变量提升成立的前提:
是使用Var关键字进行声明的变量,并且变量提升的时候只有
声明被提升
,赋值并不会被提升
,同时函数的声明提升会比变量的提升优先
- 变量提升的结果:
可以在变量初始化之前访问该变量,返回的是
undefined
。在函数声明前可以调用该函数。
加分回答:
使用let和const声明的变量是创建提升,形成暂时性死区,在初始化之前访问let和const创建的变量会报错。
💞💖💓💗每个时代,
✨🌟⭐️💫都悄悄犒赏会学习的人。