什么是自执行函数?

大家好,我是IT修真院萌新分院的王寒,一枚正直,纯洁,善良的前端程序员。

1.背景介绍

在详细讲解自执行函数之前,我们先来说一下这个函数在叫法上的争议。实际上不同的人对自执行函数的理解不太一样,第一种理解是,自执行即自动执行,也就是大家平时所谓的立即执行函数还有一种理解,即自执行函数是在函数内部执行函数本身,即我们平时常说的递归函数。不管是哪种理解,我们都没必要去纠结叫法上的准确与否,因为相比于自执行函数,立即执行函数和递归函数这两种叫法是我们更加熟悉的,实际上平时也很少会看到自执行函数这种叫法。立即执行函数和递归函数都很重要,因此今天打算对立即执行函数做一下简单的介绍。

2.知识剖析

知识点1:直接在函数后面加()就可以立即执行吗在函数声明后面加括号为什么会报错?

知识点2:如何实现立即执行函数

3.常见问题

对函数声明和函数表达式不能正确区分

4.解决方案

函数声明:函数fnName(){...};使函数关键字声明一个函数,再指定一个函数名,叫函数声明。

函数表达式VAR fnName =函数(){...};使用函数关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。

函数声明和函数表达式不同之处在于,一,Javascript引擎在解析javascript代码时会'函数声明提升'(Function declaration Hoisting)当前执行环境(作用域)上的函数声明,而函数表达式必须等到Javascirtp引擎执行到它所在的时间,才会从上而下一行一行地解析函数表达式,二,函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用。

5.编码实战

6.扩展思考

立即执行函数有哪些用处?

7.参考文献

汤姆大叔的博客

8.更多讨论

匿名函数和闭包的区别

小课堂问题:

鸣谢

感谢大家观看

王寒

小课堂问题:

1.jquery的自执行函数怎么写?

答案:请点击。

2.自执行函数跟闭包和匿名函数的关系?

答案:请点击。

3.自执行函数有哪些用处?

答案:请点击。

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

推荐阅读更多精彩内容

  • 大家好,我是IT修真院武汉分院第7期的学员景鑫,一枚正直纯洁善良的WEB前端程序员。 1.背景介绍 在详细讲解自执...
    中华田园柴阅读 7,547评论 0 1
  • 1.背景介绍 在详细讲解自执行函数之前,我们先来说一下这个函数在叫法上的争议。实际上不同的人对自执行函数的理解不太...
    远望的云阅读 297评论 0 1
  • 原文链接:https://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...
    JackChen1024阅读 6,136评论 1 17
  • 今天下午一位妈妈进教室接孩子就哭了,我没反应过来原因。后来才知道她在窗户外看到她儿子坐在椅子上打瞌睡,她向另一位老...
    佩盈阅读 238评论 0 2
  • 君诗描得美景图,田园炊烟情尽舒。 恬淡无忧唯儒士,兴起之时笔墨呼。
    老槐树阅读 286评论 2 4