浅谈闭包

前端开发者经常在面试时会碰到这样一道题:什么是闭包?
首先我们来谈谈闭包的定义:函数A有内置函数B,当内置函数B调用函数A的变量时,就形成了闭包!
以下函数就是闭包的简单应用

function aa(){
    let a=1;
    return function(){
        a++;
        console.log(a);
    }
}
let fn=aa();
fn();  //输出2
fn();  //输出3

可以看出闭包保存了函数A的变量的变化值!
由此可以看出闭包的缺点是容易造成内存泄露。

你可能感兴趣的:(浅谈闭包)