首页 > 其他 > 详细

浅谈闭包

时间:2018-09-03 19:50:06      阅读:188      评论:0      收藏:0      [点我收藏+]

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:

技术分享图片

浅谈闭包

原文:https://www.cnblogs.com/jsjx-xtfh/p/9580425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!