jquery中的闭包

“闭包”(closure)闭包就是能够读取其他函数内部变量的函数。

闭包的用途 一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

Js代码

  function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }

    return f2;

  }

  var result=f1();

  result(); // 999

  nAdd();

  result(); // 1000

 

JQUERY中的闭包::

(function($){
     $("div p").click(function(){alert("cssrain!")});
})(jQuery);            //一个闭包
这是什么写法啊?

这里面的$只是形参,但jquery是全局变量,所以不需要调用该函数就会自动执行,或者分两步

就是转化成正常的函数,先写函数,后调用。

如下所示
其实:
(function($){
     $("div p").click(。。。);
})(jQuery);    
就是等于
function TempFunction($){  //创建一个以$为形参的函数
     $("div p").click(....);
}
TempFunction(jQuery);         //传入实参jQuery执行函数.

 

闭包的基本写法:
(function(){do someting})();
//这个你就理解为定义一个匿名函数并立即执行
带参数的话就这样:
(function(形参){do someting})(实参);

posted @ 2013-04-30 22:27  {前端开发}  阅读(995)  评论(0编辑  收藏  举报