函数表达式

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

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

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

两者有什么不同?

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

最重要的差别:

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

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

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

f();

function f(){
    alert(1);
}

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

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

推荐阅读更多精彩内容

  • 函数声明和函数表达式 函数声明和函数表达式加以区别。而实际上,解析器在向执行环境中加载数据时,对函数声明和函数表达...
    前端精髓阅读 1,378评论 0 0
  • 这篇文章主要介绍了JavaScript中的函数声明和函数表达式区别浅析,本文总结的浅显易懂,非常好的一篇技术文章,...
    宁骥阅读 3,593评论 0 1
  • 定义函数的方式有两种:函数声明和函数表达式。 函数声明的一个重要特征就是函数声明提升,意思是在执行代码前会先读取函...
    oWSQo阅读 3,890评论 0 0
  • 这两天看这个理论知识,看的有点小恶心了。。现在稍微总结一下,大体知道的,然后不全的再随着自己的理解往上加。 函数表...
    艾石溪阅读 2,720评论 0 1
  • 从白人大迁徙到光明大迁徙,上现蜃景的风险就要出现在我们这些正在成长中的城市 如果20世纪所发生的城市迅速增大被称为...
    huifang963阅读 748评论 0 0