“什么是 JavaScript 中的闭包?它们如何发挥作用? 即使在外部函数执行之后,闭包也允许内部函数访问外部函数的变量。 示例:函数outer() { let x = 10;返回函数inner() { console.log(x); } } const innerFunc = 外部();内部函数(); // 输出:10"
在提供的示例中,
outerFunction
声明了一个变量
outerVariable
并定义了一个记录
innerFunction
值的内部函数
outerVariable
。当
outerFunction
被调用并且
innerFunction
返回并分配给
closureExample
时,就会创建一个闭包。即使
outerFunction
完成执行后,
closureExample
仍然可以访问
outerVariable
。当调用
closureExample
时,它会将
outerVariable
的值(即“我来自 externalFunction”)记录到控制台,演示闭包的使用。闭包是 JavaScript 中强大的工具,通常用于数据封装、创建私有变量以及实现函数式编程概念(例如柯里化和记忆化)。它们提供了一种在 JavaScript 应用程序中维护状态并创建模块化和可重用代码的方法。
function outerFunction() {
let outerVariable = 'I am from outerFunction';
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}letclosureExample=outerFunction(); 闭包示例(); // 输出:我来自outerFunction