1、概念:闭包(Closure)是一种函数和其相关的引用环境组合的特殊方式。在计算机科学中,闭包通常是指可以访问其自身定义范围之外的变量的函数。闭包允许函数访问其创建时所处的词法作用域(lexical scope)中的变量,即使函数在其创建的词法作用域之外被调用。
2、特点:
a、函数嵌套:闭包通常是函数内部定义了另一个函数,内部函数可以访问外部函数的变量。
b、内部函数引用外部变量:闭包内部的函数可以访问外部函数的变量,即使外部函数已经执行完毕。
c、保持词法作用域:闭包可以“记住”它被创建时的词法作用域,即使在其他地方被调用,它仍然可以访问那个词法作用域中的变量。
3、示例: