一、JS立即执行函数的写法

方式1、最前最后加括号

(function(){alert(1);}());

方式2、function外面加括号

(function(){alert(1);})();

方式3、function前面加运算符,常见的是!与void

!function(){alert(1);}();
voidfunction(){alert(2);}();

二、立即执行函数的参数

可以给立即执行函数传递参数,例如

  1. 1. (function(who, when){
  2. 2. console.log("I met " + who + " on " + when);
  3. 3. } ("Joe Black", new Date()));

记住:

1、立即函数内部是可以访问外部变量的,所以很多情况下,我们并不需要传参数。如:jQuery的window实参,如果不传入。内部也是可以直接使用的。

2、通常你不应该给立即执行函数传递太多的函数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。

三、立即执行函数的返回值

像其它任何函数一样,一个立即执行函数也能返回值并且可以复制给其它变量,例如

  1. 1. var result = (function (){
  2. 2. return 2 + 2;
  3. 3. }());