【发布时间】:2019-04-10 04:39:04
【问题描述】:
我的印象是,每次调用一个函数时,它都是该函数的一个新实例。这段代码怎么能取 n 并递增它而不用每次都将 n 设置回零?
const f = (function()
{
let n = 0;
return function()
{
return ++n;
}
}());
console.log(f()); // prints 1
console.log(f()); // prints 2
console.log(f()); // prints 3
【问题讨论】:
-
该函数可以访问在调用
f()时创建的闭包 中的变量n。闭包在函数调用之间持续存在。 -
定义closure:闭包是函数和声明该函数的词法环境的组合。。你应该给他们一个阅读...
-
分配给 f 的函数中有一条语句:
return ++n;。调用该函数如何将 n 设置回 0?
标签: javascript iife