函数声明提升

2018-03-23  本文已影响0人  小毛蛋_
在JS执行上下文的时候
1.先声明  -->  先声明function关键字,然后声明变量,如果有相同function命名已经存在则会跳过
2.执行

//demo
function test() {
    console.log(foo);
    console.log(bar);

    var foo = 'Hello';
    console.log(foo);
    var bar = function () {
        return 'world';
    }

    function foo() {
        return 'hello';
    }
}


1.声明过程
function foo(){...}        函数声明提升(同一作用域)
//var foo;                 然后声明变量,如果与已经声明过的函数重名,直接跳过
var bar;

2.执行过程(就是按代码顺序执行)
console.log(foo)           //func...
console.log(bar)           //undefined
foo = 'Hello';               
console.log(foo)           //Hello
bar = function (){...}

引用

上一篇下一篇

猜你喜欢

热点阅读