JS中的提升

JavaScript012

JS中的提升,第1张

JS中包含两种提升,变量提升和函数提升。

变量提升只能是var或者function声明的变量或者函数,let,const声明的不存在提升的说法。

顾名思义就是把下面的东西提升到上面。在函数域里定义一个和外部一样名称的变量时,只会取到该函数域,在赋值以前的输出为undefined。

在函数域内的if,for,switch语句中的变量无论条件是否满足都会得到提升,能够赋值与否要看是否满足条件。因此此处输出为2;如果!a变为a,则输出为undefined.

定义函数有两种方式:函数声明和函数表达式。函数声明的函数才会提升函数(提升的其实是函数的引用,在声明之前可以调用),函数表达式提升的其实只是一个变量(调用会报错,因为只是一个变量)。

昨天总结的针对js变量提升这个知识点总结了9道题,下面是给大家做出的答案和解释:

关于变量提升,一定要注意细心思考一下,还有就是要牢记,函数提升在变量提升之上;

怎么样是不是感觉对js的理解和变量一样提升了呢?