JavaScript函数是将要执行的代码及执行这些代码的作用域构成的一个综合体。计算机术语称这种代码和作用域的综合体为闭包。故所有JavaScript函数都是闭包。但我们常说的JavaScript闭包是指,一个嵌套函数被导出到它所定义的作用域外时,才明确地称为闭包。
JavaScript闭包
闭包是 JavaScript
一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。 因为函数是 JavaScript
中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数。
简单写法
该函数的私有持久变量,可以被多个函数共享
var uniqueID = (function() {
// 私有持久值
var id = 0;
return function() {
return id++;
}
})();