美文网首页
立即执行函数

立即执行函数

作者: wade3po | 来源:发表于2019-02-04 17:29 被阅读22次

立即执行函数(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://www.haomeiwen.com/subject/rcnssqtx.html