美文网首页
函数表达式

函数表达式

作者: codeffee | 来源:发表于2017-03-18 01:12 被阅读0次

    定义函数的方法有两种:函数声明和函数表达式

    类似这样的就是函数表达式

    var x = function () {
       alert(1);
    };
    

    两者有什么不同?

    函数表达式可以忽略标识符,不需要取名字

    最重要的差别:

    函数声明会提升,在执行代码之前会先读取函数名称。这就意味着可以把函数声明放到调用它的语句后面。但函数表达式不能。

    f();
      
    var f=function(){
        alert(1);
    }
    //这样会报错
    

    如下就不会报错,代码会正常运行

    f();
    
    function f(){
        alert(1);
    }
    

    解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用。至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解析执行。--摘红宝书

    相关文章

      网友评论

          本文标题:函数表达式

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