美文网首页
js变量声明提升与函数表达式

js变量声明提升与函数表达式

作者: JiangHaoFunc | 来源:发表于2018-08-01 16:54 被阅读8次

    1.变量声明提升

    js引擎会把变量声明与函数声明都提升到当前函数的顶部。eg:

    console.log('x' in window);//true
    var x;
    x = 0;
    

    js引擎编译为

    var x;
    console.log('x' in window);//true
    x = 0;
    

    2.函数表达式

    对于函数的声明有
    var Foo = function(){}
    function Foo(){}
    前者为函数表达式,后者为函数声明
    js会把函数表达式拆分为两行分别执行。例如:

    var x=1;
    function x(){}
    

    执行时为先把函数表达式拆分,然后变量变量提升

    function x(){}
    console.log(x);
    x=1
    

    相关文章

      网友评论

          本文标题:js变量声明提升与函数表达式

          本文链接:https://www.haomeiwen.com/subject/iusrvftx.html