js的闭包,简单来说就是提供了一个在外部访问另一个函数内部局部变量的方式。 先写一个常见的例子:
1 2 3 4 5 6 7 8 9 10 |
var add = (function () { var counter = 0; return function () {return counter += 1;} })(); add(); add(); add(); // 计数器为 3 |
注意: 为什么上面这段代码没有直接写的 function add (){…} 而是把function赋值给了变量add呢? 我们通常会想当然的认为每次调用 add(……