你的位置:首页 > Java教程

[Java教程]javaScript 匿名函数 理解


不知道大家都看成JQuery源码。反正我第一次的时候,上来就傻了。。。

(function( window, undefined ) {.......................})(window);   我去这是什么写法。。。

后来百度了一下,加上看看Aaron写的文章,也算悟了点。存在即合理, 匿名函数的存在就是有它的合理性。

 

匿名函数的代码模式   

      1.错误写法

         1) function (){ }()

      期望是立即调用一个匿名函数表达式,结果是进行了函数声明,函数声明必须要有标识符做为函数名称。
   2) function g(){ }()
      期望是立即调用一个具名函数表达式,结果是声明了函数 g。末尾的括号作为分组运算符,必须要提供表达式做为参数。

      2.合理写法,好像很多

  ( function() {}() );  ( function() {} )();  [ function() {}() ];  ~ function() {}();  ! function() {}();  + function() {}();  - function() {}();  delete function() {}();  typeof function() {}();  void function() {}();  new function() {}();  new function() {};  var f = function() {}();  1, function() {}();  1 ^ function() {}();  1 > function() {}();  // ...

理解:
定义完成函数之后立即执行,执行完后并销毁该函数对象。

匿名函数的应用

  《Javascript的一种模块模式》中的第一句话就是“全局变量是魔鬼”。

  配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染,并且迅速的释放函数内存。

  这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。