js闭包

Posted yezi-dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js闭包相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

以上是关于js闭包的主要内容,如果未能解决你的问题,请参考以下文章

js 闭包 具体作用?

js闭包函数

JS闭包的概念

js闭包的问题。

js闭包

js闭包