1、JS当即执行函数的写法函数
方式一、最前最后加括号
工具
(function(){alert(1);}());

方式二、function外面加括号测试
(function(){alert(1);})();

方式三、function前面加运算符,常见的是!与voidspa
!function(){alert(1);}();
void function(){alert(2);}(); 
2、当即执行函数的参数io
能够给当即执行函数传递参数,例如console
(function(who, when) {
console.log("I met " + who + " on " + when);
} ("Joe Black", new Date()));

记住:function
一、当即函数内部是能够访问外部变量的,因此不少状况下,咱们并不须要传参数。如:jQuery的window实参,若是不传入。内部也是能够直接使用的。变量
二、一般你不该该给当即执行函数传递太多的函数,由于它很快会成为一个负担——为了理解代码是如何工做的,你不得不常常上下滚动源代码。命名空间
3、当即执行函数的返回值im
像其它任何函数同样,一个当即执行函数也能返回值而且能够复制给其它变量,例如
var result = (function () {
return 2 + 2;
}()); 
var result = (function () {
return 2 + 2;
})();

4、当即执行函数的好处
一、当即执行函数模式被普遍使用,它能够帮你封装大量的工做而不会在背后遗留任何全局变量。
当即执行函数一般做为一个单独模块使用。通常没有问题,可是,建议在本身写的当即执行函数前加分号,这样能够有效地与前面代码进行隔离。不然,可能出现意想不到的错误。
例如
var c = 12
var d = c
(function () { var e = 14; }())

会报这样一个错误: