javascript closure

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);//undefined,?,?,?
var b = fun(0).fun(1).fun(2).fun(3);//undefined,?,?,?
var c = fun(0).fun(1);  c.fun(2);  c.fun(3);//undefined,?,?,?
//问:三行a,b,c的输出分别是什么?

function fun(n,o) {
console.log(o);
return {
b:function(m){
return fun(m,n);
}
};
}
var a = fun(0); a.b(1); a.b(2); a.b(3);//undefined,?,?,?
var b = fun(0).b(1).b(2).b(3);//undefined,?,?,?
var c = fun(0).b(1); c.b(2); c.b(3);//undefined,?,?,?
//问:三行a,b,c的输出分别是什么?

饿..博主的命名都fun的话看着大脑完全死机的节奏啊 我改了一个property name就好使多了
原文地址:https://www.cnblogs.com/SZLLQ2000/p/5210738.html