闭包是一个函数。
闭包可以让内层函数记住并访问外层函数的作用域,即使外层函数已经销毁。
闭包的一个使用场景是:封装私有变量。
在原生JS中没有私有变量的概念,可以使用闭包实现类似的效果。例如在函数内部定义变量,并返回一组内部函数,用于访问和操作内部变量,而函数外部不可直接访问这些内部变量。
另一个使用场景是:延长变量的生命周期,例如[[函数柯里化]]