介绍一下闭包和闭包常用场景?

1. 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包常见方式,就是在一个函数的内部创建另一个函数。

2. 使用闭包主要为了设计私有的方法和变量,闭包的优点是可以避免变量的污染缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。
     在js中,函数即闭包,只有函数才会产生作用域的概念。

  • 闭包有三个特性:
    • 函数嵌套函数
    • 函数内部可以引用外部的参数和变量
    • 参数和变量不会被垃圾回收机制回收
  • 应用场景,设置私有变量的方法
  • 不适用场景:返回闭包的函数是个非常大的函数
  • 闭包的缺点就是常驻内存,会增大内存使用量,使用不当会造成内存泄漏
posted @ 2020-04-01 16:37  Mr_Riven  阅读(783)  评论(0编辑  收藏  举报