为什么需要闭包?闭包是什么概念?

为什么需要闭包?闭包是什么概念?
什么是闭包【为什么需要闭包?闭包是什么概念?】闭包的英文对应的是Closure,如果要单纯的讨论这个概念的话就要提到和图灵机起名的大名鼎鼎的lambda演算(lamdba calculus) 。尽管lamdba的概念并不是本文的重点,但是闭包概念的目的便是支持lamdba的实现 。如果你单独地在百度对进行搜索闭包的话,你会发现大部分都是js相关的内容,主要是js本身就只用闭包的这个概念 。但是闭包并不仅限于js,而是一个通用的概念 。借用wiki中有点抽象的定义来说的话,闭包就是:
在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数 。
简单来说就是当一个方法引用了方法局部变量外的变量时,它就是一个闭包 。而如果根据这个定义继续延展的话,就可以得到另外的一种描述方法:
闭包是由函数和与其相关的引用环境(方法外变量)组合而成的实体 。
为什么需要闭包

    推荐阅读