立即执行函数
定义:此类函数没有声明,在一次执行过后即释放。适合做初始化工作。
凡是只(希望)被执行一次处理数据返回结果的函数叫初始化函数。数据初始化(针对初始化功能的函数)
形式:
(function (){}()); //W3C建议使用
(function (){})();
例子:
var num = (function (a,b,c){
var d = a + b + c * 2 - 2;
return d;
}(1,2,3))
立即执行函数也有执行期上下文,执行完之后也将指针销毁。
function test(){
var a = 123;
} //函数声明 后面加()无法执行
//只有表达式才能被执行符号()执行,例如test();
var test = function (){
console.log('a');
}(); //函数表达式,执行一次后再刷新,test不再代表函数,结果为undefined
//能被执行符号执行的表达式,函数名字会被自动忽略(立即执行函数);
=function(){}为表达式,后面加上()变为立即执行函数,var test为变量声明
function test(a,b,c,d){
console.log(a + b + c + d);
}(1,2,3,4); //(1,2,3,4)不是执行符号
//这样写不报错但也不执行函数,系统会拆解为一下两部分
function test(a,b,c,d){
console.log(a + b + c + d);
}
(1,2,3,4);