立即执行函数:初始化功能的函数,只被执行一次的函数,执行完以后立即被销毁,也可以有形参,和返回值,并且也有执行期上下文。
(function (){}()) 或 (function (){})()建议使用w3c推荐的前一种。
(function (a,b,c){} (1,2,3))
(function (){ return }())
只有表达式才能被执行符号执行
这样会报错,语法错误
```
function test() {
let a = 2;
console.log(a)
}();
```
这样就是函数表达式被执行,能被执行符号执行的表达式它的名字会被忽略,下面的函数执行完以后,就被释放了,再找test就是undefined,还有一种就是用+ - !将函数变成一个立即执行函数,如demo
```
//立即执行完以后函数被释放,test的引用地址被初始化
var test = function () {
let a = 2;
console.log(a)
}();
```
```
! function demo() {
console.log("被变成立即执行函数")
}();
```