1. 什么是闭包
MDN上说,闭包是函数和声明该函数的词法环境的组合。通俗来讲,闭包是一个能够读取到其他函数内部变量的函数。
一个简单的闭包例子:
输出 sun
2、为什么要用闭包
由于javascript的变量作用域的问题,函数内部可以直接读取全局变量,而在函数外部无法读取函数里的局部变量。当需要从函数外部读取局部变量时,就需要使用闭包。
3、闭包用在哪里
保护变量和协调异步代码。
4、闭包怎么用
闭包会将函数中的变量都保存在内存中,内存消耗很大,在退出函数之前应将不使用的局部变量全部删除。闭包会在父函数外部,改变父函数内部变量的值。所以闭包要谨慎使用。