猿问

关于闭包导致的一些问题

function f(){
  var num=1;
  return function(){
    num++;
    console.log(num);
  }
}
var c=f();
c();
c();
var d=f();
d();
d();

这种情况下console的是2,3,2,3

var num=1;
function f(){
  return function(){
    num++;
    console.log(num);
  }
}
var c=f();
c();
c();
var d=f();
d();
d();

这种情况下console的是2,3,4,5

同样都是引用了f函数,指向的都是f函数,为什么会这样?希望通过引用的角度解析一下

Joeeeee
浏览 1095回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答