JS自调用匿名函数具体实现

  js中常常定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间(防止局部变量与全局变量冲突)。

  

复制代码 代码如下:

  function mymodule(){

  //模块代码

  }

  mymodule();

  可以简写为:

  

复制代码 代码如下:

  (function(){ //mymodule()函数重写为匿名的函数表达式

  //模块代码

  }( )<span style="color:#ff0000;">)</span>; //结束函数定义并立即调用它

  或者:

  

复制代码 代码如下:

  (function(){

  }<span style="color:#ff0000;">)</span>();

  这种定义匿名函数并立即调用(自调用匿名函数)的写法已经非常常见,开始让人有点摸不着头脑,jquery的源码就是这样写的:

  

复制代码 代码如下:

  (function( window, undefined ) {

  //jquery的所有代码

  })( window );