什么是闭包
闭包(Closure)是 JavaScript 中一个重要且强大的概念。简单来说,闭包是指一个函数能够访问其外部作用域中变量的能力,即使在其外部函数已经执行完毕之后。
官方定义
闭包是由函数以及声明该函数的词法环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。
作用域和作用域链
作用域类型
// 全局作用域
var globalVar = 'I am global';
function outerFunction() {
// 函数作用域
var outerVar = 'I am outer';
function innerFunction() {
// 函数作用域(内层)
var innerVar = 'I am inner';
// 可以访问所有外层作用域的变量
console.log(globalVar); // 'I am global'
console.log(outerVar); // 'I am outer'
console.log(innerVar); // 'I am inner'
}
return innerFunction;
}
2024/8/15大约 8 分钟
