function foo(){
var i=0;
return function(){
console.log(i++);
}
}
var f1=foo(),
f2=foo();
f1(); // 输出的i等于0 /* 因为i++在输出函数里面是先输出i,然后再进行i++ */
f1(); //输出的i等于1 /* 因为第一个f1()执行过后,i等于1 */
f2(); //输出的i等于0 /* 原因和执行f1()一样 */
PS:猿猿们有什么想法可以留言呦!