函数声明提升

在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 (){...}

引用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容