提问人:shivam biswas 提问时间:3/11/2021 最后编辑:shivam biswas 更新时间:3/13/2021 访问量:43
“调用函数”和“将函数存储在变量中然后调用它”有什么区别 [duplicate]
What is the difference between "calling a function" and "storing a function in variable and then calling it" [duplicate]
问:
我想问你一个问题,关于“调用函数”与“将相同的函数存储在变量中然后调用它”之间的区别。
这是一个带有闭包的简单计数器函数。
function makeCounter() {
var count = 0;
function counter() {
count = count + 1;
return count;
}
return counter;
}
var doCount = makeCounter();
console.log(doCount());
console.log(doCount());
console.log(doCount());
console.log(makeCounter());
console.log(makeCounter());
console.log(makeCounter());
当我们像这样使用计数器时:
console.log(doCount());
console.log(doCount());
console.log(doCount());
输出为:
1
2
3
但是当我们这样调用函数时:
console.log(makeCounter());
输出如下所示:
[Function: counter]
[Function: counter]
[Function: counter]
引擎盖下发生了什么?请解释。 谢谢。
答: 暂无答案
评论
console.log(doCount())
counter()
console.log(makeCounter());
counter()
return counter
return counter()
return counter()
counter()
counter