浅谈闭包

Posted jsjx-xtfh

tags:

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

1、在函数内部 如果没有用var声明的变量是全局变量

2、什么是闭包

能够访问其他函数内部的变量或者方法

特点:

1、函数嵌套函数

2、必须有return

3闭包的作用

1、能够访问局部变量或者方法

2、在for循环中可以保留i的值

4、闭包的危害
会占用内存空间 会在IE浏览器下造成内存泄漏

当不用局部的变量或者方法的时候需要进行销毁

5、什么是垃圾回收机制

当一个函数内部的一些方法或者属性没有在全局进行调用的时候,当前函数运行完毕以后就会被回收,下次在调用当前函数的时候函数内部的方法和属性都会被重置,如果一个函数的一些方法和属性在全局进行调用了,那么当前函数不会被销毁,下次在调用当前函数的时候里面的方法和属性不会进行重置

example1:

function fn(){
    var a=10;
    return function(){
        a++;
      console.log(a);
     }
}

var a=fn();

a(); //11
a(); //12

example2:

技术分享图片

example3:

技术分享图片













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

浅谈闭包

浅谈闭包

浅谈JavaScript--闭包

浅谈js闭包

浅谈闭包

浅谈JS闭包