想在这里分享我在网上看到的关于著名的闭包主题的最简单的解释。 (来源:roadmap.sh)
闭包是一个即使在外部函数返回后也可以访问其外部函数作用域的函数。这意味着即使函数完成后,闭包也可以记住并访问其外部函数的变量和参数。
function outer() {
const name = 'Roadmap';
function inner() {
console.log(name);
}
return inner;
}
const closure = outer();
closure(); // Roadmap
在上面的示例中,即使外部函数返回后,内部函数也可以访问外部函数的 name 变量。因此,内部函数形成了一个闭包。