function f(){
var cnt=0;
return function(){ return ++cnt;}
}
var fa=f();//将函数f的的返回值给变量fn
console.log(fa());//1
console.log(fa());//2
console.log(fa());//3
函数的返回值是函数(对象的引用),这里将其赋值给变量fn。在调用fn时,其输出结果每次都会自增加1
从表面看,闭包(closure)具有状态的函数,或者也可以将闭包的特征理解为:其相关的局部变量在函数调用结束后会继续存在