变量提升

2022-01-08  本文已影响0人  秋天de童话
var v='Hello World';
(function(){
    alert(v);
    var v='I love you';
})()

看下结果:


image.png

解释:JavaScript中的变量提升(Hoisting)

实际可以理解为:

var v='Hello World';
(function(){
    var v;
    alert(v);
    v='I love you';
})()

涉及到 js的作用域(块级作用域)的原理,不做赘述。

函数提升

function myTest(){
    foo();
    function foo(){
        alert("我来自 foo");
    }
}
myTest();
image.png
function myTest(){
    foo();
   var foo =function foo(){
        alert("我来自 foo");
    }
}
myTest();
image.png

解释:
在我们写js code 的时候,我们有2中写法,一种是函数表达式,另外一种是函数声明方式。我们需要重点注意的是,只有函数声明形式才能被提升。

参考资料:https://www.cnblogs.com/damonlan/archive/2012/07/01/2553425.html

上一篇 下一篇

猜你喜欢

热点阅读