-
常用简写名为:IIFE
-
全称:Immediately Invoked Function Expression
-
解释:IIFE是指立即调用的函数表达式,也就是说,声明函数的同时立即调用函数本身
结构
(function 方法名(){
// 方法的主体逻辑
})()
对比
1、普通的方法定义跟调用
// 定义一个koa的方法
function koa() {
console.log('输出一个bug!')
}
// 调用刚刚定义的方法
koa()
2、IIFE形式的方法定义跟调用
(function koa(){
console.log('输出一个bug!')
})()
转变表达式的写法
1、()() 双括号
(function koa(){
console.log('输出一个bug!')
})()
2、单括号,函数后面在加一个()
(function(){
console.log('输出一个bug!')
}())
3、!
!function(){
console.log('输出一个bug!')
}()
4、+
+function(){
console.log('输出一个bug!')
}()
5、void
void function(){
console.log('输出一个bug!')
}()
为什么需要IIFE
-
1、隔离作用域
-
2、写法更加优雅,避免啰嗦的定义跟调用