1)定义:
此类函数没有声明,在依次执行过后即释放。适合做初始化工作。
2)特点:
- 执行完后就销毁(除了这一点其他的跟普通函数一样)
- 针对于初始化功能的函数
3)写法:
//第一种(W3C推荐)
( function (){
//代码体
} ())
//第二种
(function(){})()
例如
(function(a,b,c){
console.log(a+b+c);
}(1,2,3))
或者返回值传给变量
var num = (function (a,b,c){
return a+b+c;
}(1,2,3))
4) 关于执行符号的注意点:
只有表达式才能被执行符号(即一对括号)执行.
例如 ,在函数声明后面加上括号运行
function test( ){
}( ) //报错
+ function test( ){
}( ) //正确,加上正号隐式类型转化Number()转换成表达式了,负号和"!"也有同样效果
所以,在function test( ){ }( )的最外面加上一个大括号,就变成了一个表达式,也就可以执行了,再把函数名test去掉(存在没意义,执行完就销毁了,又不能当函数名调使),就完全是一个立即执行函数了
注意:有一个特殊情况:function test( ){ }(1,2,3,4)
不报错,系统把整个解析为两部分执行,function test( ){ }和(1,2,3,4)