访问闭包变量

时间:2013-11-28 17:01:20

标签: javascript closures

我有一种感觉我知道这个问题的答案,但无论如何通过控制台查看inside的当前值?

var test = (function() {
  var inside = 0;
  return function() {
    inside++;
    console.log(inside);
    return inside;
  }
})();

1 个答案:

答案 0 :(得分:0)

只需致电test()console.log即可打印该值。

你的闭包是自我调用的,但你的内部方法只是被返回,因此在你的例子中永远不会调用它。

您应该使用:

var test = (function() {
  var inside = 0;
  return function() {
    inside++;
    console.log(inside);
    return inside;
  }
})();

test();//Will print 1

所以它会创建闭包,你的return语句会将内部函数放在变量test中。所以你的test成了内在的功能。然后你需要打电话。