欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

变量提升与函数提升

程序员文章站 2023-12-21 19:51:52
...

变量提升

在使用var声明对象的时候就算声明在赋值之后依然可以使用,这就是函数提升:

 var a = "globalvale";
 function fn (){
     console.log(a);
     var a="functionvar";
 }
 fn();//"undefine"

在上面的例子当中我们发现按照我们想的执行顺序,应该是打印出的globalvale但是打印出的却是在函数最后申明的a;那是因为变量用var声明时会默认将声明放在当前作用域的最前面:



 var a = "globalevale";
 function fn (){
     var a
     console.log(a);
     a="functionvar";
 }
 fn();

实际的运行效果如上。这就是变量提升。

函数提升

类似于变量提升:

test();// i am function
function test(){
    console.log("i am function")
}

我在想既然函数提升和变量提升都是一样的效果,那如果我们声明变量将函数赋值给变量是什么效果那。

test();//test is not function

var test = function (){
    console.log("i am testFunctio")
}

经过上面两个例子可知,var仅仅是将声明提升了,赋值操作并没有提升。

上一篇:

下一篇: