这个谁帮我解释一下
function fo(){
var i=0;
return function(n){
//return n+i++;//原题是这样的。n和i先相加,然后i再累加
//return n+++i;//扩展一下思咱:如果改造成这样的代码会是什么答案。(n先和i相加,然后n自己再累加)
return n+(++i);//这样呢?(i先累加,然后n和i再相加)
//首先要明确这个i是那儿定义的,当这个方法运行的时候。
}
};
var f=fo();
var a = f(15); alert(a)//16
var b = fo()(15);alert(b)//16
var c = fo()(20);alert(c)//21
var d = f(20);alert(d);//22
上面,b,c我能明白i是重置了的,为啥a,d的没有重置为0,var f=fo() 难道有啥变化