首页 新闻 会员 周边

Javascript代码的小小疑问(终极闭包)

0
[已解决问题] 解决于 2017-07-06 08:14
(() => {


function fun(n, o){

 console.log(o);
return {

fun: function(m){
    
   return fun(m, n);

    }
  }

}

console.log('---------- (1) ----------');
var a = fun(0);a.fun(1);a.fun(2);a.fun(3);
console.log('---------- (2) ----------');
var b = fun(0).fun(1).fun(2).fun(3);
console.log('---------- (3) ----------');
var c = fun(0).fun(1);c.fun(2);c.fun(3);
})();


/*

---------- (1) ----------
undefined
0
0
0
 ---------- (2) ----------
undefined
0
1
2
---------- (3) ----------
undefined
0
1
1

*/
/*
帮我解释一下,谁哦?
*/
Coca-code的主页 Coca-code | 初学一级 | 园豆:10
提问于:2017-07-02 09:31
< >
分享
最佳答案
0

记住两句话:1、谁调用谁就是this。2、函数的作用域是定义时就确定的。

奖励园豆:5
幻天芒 | 高人七级 |园豆:37175 | 2017-07-03 11:34

感谢传授葵花宝典。但是要一目了然,还得入关。thx。

Coca-code | 园豆:10 (初学一级) | 2017-07-06 08:15

@Coca-code: 要真正理解还是需要一定时间和偶尔的顿悟的。

幻天芒 | 园豆:37175 (高人七级) | 2017-07-06 08:43
其他回答(1)
0

浏览器打下断点就一目了然

张云山 | 园豆:642 (小虾三级) | 2017-07-03 12:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册