javascript 中 把一个函数放进一个()里边,两种方式是(function(){}();)和(function(){})();
这两种都是立即执行函数,想弄明白这个,得先知道js中函数的3方式:函数声明、函数表达式和匿名函数,当然匿名函数属于函数表达式的一种。
函数声明:function a(){......};
函数表达式:var a=function(){......};
匿名函数:function(){.......}
其中函数声明的函数,不能使用加上()来使函数在声明后立即执行,
function Add(){
var a=1;
a+=1;
alert(a);
}();
即使在后面加了括号,也不会立即执行,需要在别处的调用,才会执行。
Add();
而函数表达式则可以立即执行
var add=function(){
var a=1;
a+=1;
alert(a);
}();
而匿名函数属于函数表达式一种,但是
function(){
......
}()
这种方法是不能执行的,在js的解析过程中,无法辨认它function开头的函数声明,还是函数表达式,所以在它的前面加上(来辨别,即(function(){}();)或者(function(){})()。也可以用+,-,!等等符号,但是为了与其中的某些操作运算区别开,()的使用较为普遍。