码迷,mamicode.com
首页 > Web开发 > 详细

js闭包

时间:2016-11-09 01:13:02      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:简单   内存   嵌套   包含   命名冲突   使用   记录   函数嵌套   重新定义   

    最简单的闭包就是函数1包含函数2,函数2引用函数1的变量或方法,在函数1之外的环境引用函数2,这样函数2就会一直持有函数1作用域的引用,这就产生了闭包。

    我们为什么会需要创建闭包和使用闭包呢?

    以前写C语言和C++时,有时会需要一个全局变量来记录总数,这个变量能一直记录数字,不会因为重新运行而重新定义,这是因为这个全局变量会一直存在内存中,而闭包的作用就是能够让变量一直存在内存中,性质和全局变量一样,但可以避免像全局变量一样污染全局环境,闭包的变量只属于某个作用域,这样就减少了全局变量,减少了命名冲突。

   当然闭包也有缺点,因为变量会一直存在内存中,所以会增大内存使用量。

   闭包的三个特性:1。函数嵌套函数

                          2。函数内部可以访问外部的变量和参数

                          3。参数和变量不会被垃圾回收制回收

js闭包

标签:简单   内存   嵌套   包含   命名冲突   使用   记录   函数嵌套   重新定义   

原文地址:http://www.cnblogs.com/yezi-dream/p/5825825.html

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