转自:https://www.jianshu.com/p/783c9f98e921
立即执行函数 别称(初始化函数) IIFE 全称(immediately-invoked function expression)
特点:
1.页面加载时立即执行
2.获取到返回值
3.执行完成之后立即释放
写法:
(function(){
})() 第一种,但是这一种用的多
(function(){
}() ) 第二种,这一种是w3c的建议
函数表达式
只要被() 括起来的都是表达式,如
(function(){} () )
(function(){})()
var test = function() {}() 这也是一个表达式
一定是表达式才可以被执行符号执行
一旦函数声明变成表达式,函数名就会自动被忽略
函数声明变成表达式的方法
+ - ! && ||
|| 运算需要在前面加值,&&也一样
立即执行函数也是有返回值的
在获取返回值时,声明一个变量接受一下,如图
![](https://upload-images.jianshu.io/upload_images/15930094-3e3f88562e9208c1.png?imageMogr2/auto-orient/strip|imageView2/2/w/426/format/webp)
立即执行函数
立即执行函数经典案例
![](https://upload-images.jianshu.io/upload_images/15930094-a8d511ec77ad531b.png?imageMogr2/auto-orient/strip|imageView2/2/w/520/format/webp)
最常用的方法
第二个案例
![](https://upload-images.jianshu.io/upload_images/15930094-da6cc962f6300213.png?imageMogr2/auto-orient/strip|imageView2/2/w/1004/format/webp)
最常用的方法2
第二种写法带 return
![](https://upload-images.jianshu.io/upload_images/15930094-e6c44b6549d9c9da.png?imageMogr2/auto-orient/strip|imageView2/2/w/876/format/webp)
第二种写法(return)