深度剖析js闭包

时间:2022-09-26 15:03:33

一、什么是闭包?

  • 方法里面返回一个方法

  深度剖析js闭包

二、闭包存在的意义

  • 延长变量的生命周期

    • 作用域链

      深度剖析js闭包

 

    • 沟通内外部方法的桥梁

       深度剖析js闭包

    • 闭包会常驻内存  ==》慎用闭包  闭包里的变量不会被回收

 

  • 创建私有环建

    • 例:Vue data() 为什么是一个函数?

      data(){
        return {
        }
       }

   因为 vue 是个单页应用,有很多对应的组件,每个组件都会有一个 data,通过闭包给每个组件都建了一个私有域空间