C#和 JS的闭包

闭包的概念是内层的函数可以引用包含在它外层的函数的变量,即使外层函数的执行已经终止。但该

变量提供的值并非变量创建时的值,而是在父函数范围内的最终值。

C#闭包可理解为跨作用域访问函数内变量,那么如何避免闭包陷阱呢?C#中普遍的做法是,将匿名

函数引用的变量用一个临时变量保存下来,然后在匿名函数中使用临时变量。JS闭包,在 js中的我的理

解就是函数嵌套函数,当内部函数在定义它的作用域的外部被引用时,就创建了该内部函数的闭包 ,如果内

部函数引用了位于外部函数的变量,当外部函数调用完毕后,这些变量在内存不会被释放,因为闭包需要它们

原文地址:https://www.cnblogs.com/pikaqui/p/13341829.html