我在这里只是稍稍总结闭包(closure)的一下特点,详细的解释还是参考下面的两个链接吧。
1·闭包是词法闭包(Lexical Closure)的简称,是由函数和与其相关的引用环境组合而成的实体。ta是一种特殊的数据结构,ta的scope(作用域)也是一种叫做lexical scope,还有一个概念就是free variable
2·python中可以这么实现一个闭包:
def addSth(x):
def inc(y):
return x+y
return inc
这个addSth函数返回一个内部函数,这个内部函数的作用域,变量并不会因为addSth函数离开stack而被销毁。
3·不同的语言对闭包的实现还有支持各不相同