闭包的特点和应用

关于闭包

 闭包的概念: 当有对函数执行环境中定义的变量的引用时,该函数执行环境不会销毁,函数内定义的变量会占据内存
 闭包的优点: 可以将全局变量放入函数中,可以避免在全局定义的变量过多的占用内存
 闭包的缺点: 当引用一直存在时,函数执行环境永远不会销毁,造成过多占用内存
 闭包的使用: 当使用闭包时,要时刻注意引用关系是否会一直存在,必要时需手动释放内存
var i = 1
    function fn() {
    
    
        i = i + 1
        console.log(i)
    }
    fn()   // 2
    fn()   // 3
    fn()   // 4
    // 使用闭包后
    function fn(){
    
    
        var i = 1
        var bn = () =>{
    
    
            i = i + 1
            console.log(i)
            return bn
        }
        return bn
    }
fn()()()()   // 2  // 3  // 4  
//  将全局变量放入了函数中,减少了内存占用,函数执行完,不存在引用关系,内存被回收

猜你喜欢

转载自blog.csdn.net/qq_33418013/article/details/113095798