javascript经典闭包问题

查看:124
本文介绍了javascript经典闭包问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题:

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: undefined,0,0,0 //b: undefined,0,1,2 //c: undefined,0,1,1

看了挺久,似懂非懂,无法理出正确清晰的解释思路,求大牛解答。

解决方案

感觉原 po 说的很详细了啊 http://www.cnblogs.com/xxcang...

我晕,居然发现我也写过题解 ... http://www.cnblogs.com/zichi/...

这篇关于javascript经典闭包问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆