function fun(n,o) {
console.log(o); return {
fun:function(m) { return fun(m,n); }
};
}
var a = fun(0); a.fun(1); a.fun(2); a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1); c.fun(2); c.fun(3);
闭包就是将函数的返回值给另一个函数,使得变量变为私有变量
第一行的值为打印 为:undifind,
fun(0, undefined).fun(1)
;-->返回f(m,n) f(1,0)打印0
fun(0, undefined).fun(2);--》返回f(m,n),f(2,0)打印0,0
第一行打印
undefined,0,0,0
第二行undefined,0,1,2
第三行 undefined,0,1,1