为什么我要将计数器函数分配给计数变量?目的是什么?
function counter() {
var localVar = 0;
return function() {
localVar++;
return localVar;
}
}
var count = counter(); // I am confused here.
console.log(count());
最佳答案
counter
是一个函数工厂,它在被调用时返回一个函数。
通过将变量分配给 counter
,您可以跟踪这个计数器,每次调用它时,变量 localVar
都会递增 1,如果您总是调用 counter()()
您无法跟踪该值。
例子:
function counter() {
var localVar = 0;
return function() {
localVar++;
return localVar;
}
}
var count = counter();
for(var i = 0; i<99; i++) count();
console.log(count()); // 100
for(var i = 0; i<99; i++) counter()();
console.log(counter()()); // 1
关于javascript - 为什么这个函数返回一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50710149/