JavaScript 闭包:概念、原理与应用
1. 闭包的定义
闭包是 JavaScript 中的一个基础概念,对于初学者来说可能较难理解,但它是一个强大的特性,深入理解闭包非常重要。闭包是以下两者的结合:
- 一个函数
- 对该函数创建时所在环境/作用域的引用
也就是说,在 JavaScript 中定义一个函数时,该函数会保存对其创建时所在环境的引用,这就是闭包。闭包允许嵌套函数在包含它的函数执行结束后,仍然可以访问该函数内部的声明。
以下是一个示例代码:
function outerFn() {
const outerVar = 123;
return function inner() {
console.log(outerVar);
};
}
const innerFn = outerFn();
innerFn();
在这个例子中, outerFn 返回的 inner 函数在 outerFn 执行完成后,仍然可以访问 outerVar 变量,这就是闭包的体现。
2. 闭包的工作原理
要理解闭包的工作原理,需要先了解 JavaScript 如何解析任何标识符的作用域。
2.1 作用域解析示例
考虑以下代码:
超级会员免费看
订阅专栏 解锁全文
1185

被折叠的 条评论
为什么被折叠?



