定义:
没有声明,在一次执行过后即释放。适合做初始化工作。
写法:
- (function (){}()); 【限制性外面的括号】【():执行符号】 W3C建议第一种
- (function (){})();
只有表达式才能被执行符号执行()
能被执行符号执行的表达式,其中函数的名字就会被忽略
(function(){
var a=123;
var b=234;
console.log(a+b);
}())
(function(a,b,c){
console.log(a+b+c*2);
}(1,2,3))
var num= (function(a,b,c){
var d=a+b+c;
return d;
}(1,2,3))
num接收结果,执行完就销毁,打印出undefined
这个函数只要被执行完(一次),就被销毁释放。【不是整个函数被销毁了,而是引用被销毁了】
function test(){
var arr=[];
for(var i=0;i<10;i++){
(function(j){
arr[j]=function(){
document.write(j+"");
}
}(i));
}
return arr;
}
var myArr=test();
for(var j=0;j<10;j++){
myArr[j]();
}
执行结果:0,1,2,3,4,5,6,7,8,9