关于闭包--我自己的理解
当调用一个函数A时,会创建这个函数的执行环境和对应的作用域链,当函数A调用结束时,会将执行环境和作用域链销毁(在内存中)。如果这个函数A返回了一个新的函数或者对象B,其中引用了函数A的变量,那么函数A的执行环境和作用域不会被销毁,因为返回的这个函数(或对象)B在其他执行环境中被调用时,仍然会访问之前函数A中的变量,这种情况就叫做闭包。
由于使用闭包会导致函数调用结束后,其执行环境和对应作用域链无法立即销毁,仍然会占据内存空间,因此频繁使用闭包会占用大量内存。
当调用一个函数A时,会创建这个函数的执行环境和对应的作用域链,当函数A调用结束时,会将执行环境和作用域链销毁(在内存中)。如果这个函数A返回了一个新的函数或者对象B,其中引用了函数A的变量,那么函数A的执行环境和作用域不会被销毁,因为返回的这个函数(或对象)B在其他执行环境中被调用时,仍然会访问之前函数A中的变量,这种情况就叫做闭包。
由于使用闭包会导致函数调用结束后,其执行环境和对应作用域链无法立即销毁,仍然会占据内存空间,因此频繁使用闭包会占用大量内存。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。