我有一种感觉我知道这个问题的答案,但无论如何通过控制台查看inside
的当前值?
var test = (function() {
var inside = 0;
return function() {
inside++;
console.log(inside);
return inside;
}
})();
答案 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
成了内在的功能。然后你需要打电话。