「函数」和「函数内部能访问到的变量」的总和,就是一个闭包(Closure)。
有些人看到「闭包」这个名字,就一定觉得要用什么包起来才行。其实这是翻译问题,闭包的原文是 Closure,跟「包」没有任何关系。
transitive closure 类上执行传递性关闭
ring closure 闭环
Lexical Closure 词法闭包
Force Closure 力封闭 ; 力锁合
contact closure 触点闭合
Function Closure 函数闭包
horizon closure 水平闭合差 ; 全水平角观测 ; 全圆闭合差
Closure Material 封缄材料
complete closure 完全封闭 ; 完全闭塞音
let a = 1//「函数内部能访问到的变量」
function fc(){//「函数」
return a*10
}
以上就是一个闭包,但是这个例子里闭包就是全局,不够有代表性
function foo(){
let local = 1//「函数内部能访问到的变量」
function bar(){//「函数」
local++
return local
}
let res = bar()
return res
}
foo()
所以函数套函数只是为了造出一个局部变量,跟闭包无关。