闭包的理解

闭包目的:

主要是为了设计私有的方法和变量。

闭包三个特性:

1.函数嵌套函数 
2.函数内部可以引用外部的参数和变量 
3.参数和变量不会被垃圾回收机制回收

function person(age){
   var name = '王八蛋';
    function showInfo(){
        console.log(name+"今年" + age + "岁了!");
    }
    return showInfo;
}
var p = person(22);
p();
p();
p();

闭包的用途:

1、防止变量污染
2、闭包可以用于私有存储

闭包的优点:

是可以避免全局变量的污染,

闭包的缺点:

闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

参考文献: https://zhuanlan.zhihu.com/p/86965320

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 先写段代码举例 上面代码就是一个闭包。 如果一个函数,使用了它范围外的变量,那么(这个函数+这个变量)就叫做闭包 ...
    小志1阅读 1,768评论 0 0
  • 个人理解:闭包就是一个函数与函数所在的环境绑定在一起的形成的一个(封装)组合,函数内部可以引用它周边环境中的局部变...
    虚竹_d36e阅读 890评论 0 0
  • 什么是闭包简单来说,闭包是指可以访问另一个函数作用域变量的函数,一般是定义在外层函数中的内层函数。 为什么需要闭包...
    wycoding阅读 1,950评论 0 0
  • 什么是闭包:可以访问其他函数内变量的函数闭包可以用来保存一个需要持久保存的变量 下面这篇文章已经写的很清楚了,欢迎...
    Shi_wen阅读 876评论 0 0
  • https://zhuanlan.zhihu.com/p/22486908[https://zhuanlan.zh...
    我家有个王胖胖阅读 1,066评论 0 0