码迷,mamicode.com
首页 > 其他好文 > 详细

闭包的使用场景

时间:2016-05-19 10:41:06      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

一般情况下,不要用闭包,除非你真正需要它。

什么是闭包?

js高级程序设计给出的定义是:有权访问另一个函数作用域中变量的函数。

怎么创建闭包呢?

function foo(){
   var a=0;
   function bar(); 
   }
   return bar;
}

var c=foo();
c();    

全局变量c指定对函数foo的内部函数bar的引用;内部函数bar的执行需要依赖函数foo的资源;

这里就产生了一个闭包,使得a在执行完毕后并返回,不会被JavaScript垃圾回收机制GC回收。

因为这里c还在引用这bar,而bar依赖着foo,故foo在使用后,仍然存在于内存中。 

闭包的使用场景

标签:

原文地址:http://www.cnblogs.com/WaTa/p/5507713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!