博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
立即执行函数
阅读量:7237 次
发布时间:2019-06-29

本文共 889 字,大约阅读时间需要 2 分钟。

立即执行函数(IIFE),也叫做自执行函数,就是不需要调用就立马执行的函数。

在解释立即函数的时候,我们先了解一下三个函数相关的知识:

函数声明:

function fun() {

} 函数表达式: var fun = function () {

} 匿名函数: function() {

}

立即函数有两种常见格式:

(function() { console.log(999) }())

(function() { console.log(999) })()

这两种格式都能保证函数立马执行,这也是立即函数的基础常见的格式,()运算符加上匿名函数,还有另外几种格式也能立即执行:

!function() { console.log(999) }()

+function() { console.log(999) }()

-function() { console.log(999) }()

=function() { console.log(999) }()

Var fun = function() { console.log(999) }()

运算符!、+、-、=和函数表达式都能打到立即执行。上面的方法,是匿名函数加上运算符,其实把匿名函数都换成函数声明也是一样的,也能变成立即执行函数:

!function fun() { console.log(999) }()

那么我们为什么要使用立即函数呢?我们都知道JavaScript没有块级作用域,只要函数作用域,立即函数最大的用途就是创建一个函数作用域,也就是创建一个私有的空间。

我们都知道jQuery就是一个匿名函数,看源码可以看见jQuery所有内容都包含在匿名函数里面

( function( global, factory ) {

}

创建一个函数作用域是所有JS插件必须要有的功能,以确保各JS插件创建的变量不能和其他JS插件的变量还有引入使用程序的变量发生冲突。

欢迎关注Coding个人笔记 公众号

转载于:https://juejin.im/post/5c4ad82cf265da613356eaed

你可能感兴趣的文章
文件编辑器 vi
查看>>
用VB.NET实现定时关机
查看>>
[转载] New Concept English 1——Lesson 9 How are you today?
查看>>
清除linux系统自带jdk java
查看>>
Scala 函数式编程_偏函数_Partial Functions
查看>>
[转载] 七龙珠第一部——第083话 天下第一武道会
查看>>
Linux 下Nagios的安装和配置
查看>>
Spring学习总结(5)——IOC注入方式总结
查看>>
The Little Prince-12/07
查看>>
MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
查看>>
mysql误删除处理方法
查看>>
yum源码编译安装http
查看>>
做好一个网站其实不是单单靠时间积累那么简单.
查看>>
xmind 免费模板链接
查看>>
Cannot change version of project facet Dynamic Web Module to 3.0
查看>>
linux监控平台搭建-监控项
查看>>
rsync服务器架设(数据同步|文件增量备份)
查看>>
Java单元测试之JUnit4详解
查看>>
SSO单点登录学习总结(1)——单点登录(SSO)原理解析
查看>>
JavaScript学习总结(1)——JavaScript基础
查看>>