定义
此类函数没有声明 在一次执行过后立即释放(销毁) 适合做初始化工作
写法
有两种:
1 ( function ( ) { } ( ) ); w3c建议第一种
2 ( function ( ) { } ) ( );
如
var num = ( function name( a,b,c ){
return a+b+c;
}( 1,2,3 ) );
立即执行函数也是函数 不过比较特殊的就是执行完后就被销毁 系统中找不到了
所以也会产生执行期上下文
()是执行符号 但是只有表达式才能被执行符号执行
如
例一
function test(){
console.log(“haha”);
}()
//注意这个是函数声明 所以该函数无法执行
例二
var test = function (){
console.log(“haha”);
}()
//注意这个是函数表达式 所以该函数可以执行
能被执行符号执行的表达式 该函数的名字就会被忽略(舍弃)
如
例一
var test = function (){
console.log(“haha”);
}();
//该函数立即执行 执行后发现系统中就找不到test这个函数了
例二
+ function test(){
console.log(“haha”);
}();
//这里的+表示的是正的意思 不是加号 此时这个函数就变为表达式了
//函数执行后 系统中就找不到test这个函数了
//这里 + - ! && || 都可以将函数变为表达式
//所以()也可以将函数变为表达式 而且函数的名字会被忽略 所以就可以不写函数名
//这就是写法1与2的由来