Js闭包

首先,从百度找到很多资料这样讲的:

闭包的两个特点:

1、作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。
2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。

 

1 function a(){
2  var i=0;
3  function b(){
4  alert(++i);
5  }
6  return b;
7 }
8 var c = a();
9 c();

简单的讲: 定义了方法a() 而a()有内部方法b() 并返回b

然后定义变量c  那么c就相当于b() 这样执行 则返回 1  再执行一次c() 则返回2

这里会与变量的作用域扯上点关系。

好了正题:看了下jQuery 的源码,用的闭包,而又不是普通的闭包,是匿名闭包。所以继续找

这里看下:

1 var a = "hello js";
2 (function($){
3     //$="hello 我的匿名闭包学习!";
4     alert($);    
5 })(a);

是的 !匿名闭包就是这样调用的

 

 

 

 

 

posted @ 2012-10-25 16:09  凌之城  阅读(226)  评论(0编辑  收藏  举报