猿问

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

(() => {


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

*/
/*
帮我解释一下,谁哦?
*/
幕布斯7119047
浏览 402回答 2
2回答

慕哥6287543

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

慕娘9325324

浏览器打下断点就一目了然
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答