首页 专题 H5案例 前端导航 UI框架

js的匿名函数

作者:TG 日期: 2016-07-01 字数: 2332 阅读: 4775
什么是匿名函数?
匿名函数就是没有名字的函数,作用是创建一块封闭区域,外面不能够访问里面的变量和方法,从而不会造成全局变量的污染。

匿名函数如何定义呢?
最常用的用法:

(function(){

 console.log("我是匿名函数");

})();

我们都知道,要使用一个函数,一般情况下,我们都是去调用它的名称,那匿名函数没有名字,我们如何去执行呢?
请看上面代码的最后一行,是不是多了一个()小括号,这就是匿名函数的执行,意思是定义后立即执行

如果要传参呢?

(function(name){

  console.log(name);

})('匿名函数');


输出:匿名函数


如果我们要调用匿名函数呢?
我们可以来看看JQuery的源码:

(function( window, undefined ) {.......})(window); 

这就是个匿名函数,我们无法去访问它,那为什么我们能调用JQuery呢?
我们接着看源码:

(function( window, undefined ) {    

   

  var jQuery = function( selector, context ) {   

   

     return new jQuery.fn.init( selector, context );   

  },    


  .........    

  window.jQuery = window.$ = jQuery;    

})(window);



注意上面蓝色的代码,其实,JQuery的源码里,是在匿名函数里将jQuery传给了window,这也就是为什么参数的传递中要传递window,所以以后每次调用jquery其实是调用window的jQuery这个对象。

由jquery调用自己里面的方法。外面是无法调用的,这样可以保证安全和不冲突。

目录