前端小知识储备(三)闭包

141 阅读1分钟

创建闭包的最常见的方式就是:在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。

function outer(){
        var name = '夏明';
        function inter(){
            console.log('Hi'+name)
        }
        return inter;
}
var bibao = outer();
 console.log(bibao)           // ƒ inter(){ console.log('Hi'+name) }
 console.log(bibao())         //  Hi夏明 

闭包本质上还是函数

应用场景:

可以用来管理私有变量和私有方法,将对变量(状态)的变化封装在安全的环境中,使得这些变量不能被外部随意修改,同时又可以通过指定的函数接口来操作。

闭包有三个特性:

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

缺点:

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