[js] js中的闭包以及特点

闭包的特点是:

1.函数里面嵌套函数

2.函数内部可以引用函数外部的参数和变量

3.参数和变量不会被垃圾回收机制回收

这个问题输出啥

function Foo(){
     var i=0;
     return function(){
         document.write(i++);
     }
}
var f1=Foo(),
f2=Foo();
f1();
f1();
f2();

一个是前面提到的可以读取函数外部的变量,另一个就是让这些变量的值始终保持在内存中

f1调用时 变量i会保持在内存中 , 两次调用输出 0 1

f2调用时,是和f1相互独立的 ,输出 0

原文地址:https://www.cnblogs.com/taoshihan/p/14189792.html