概念:
一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域
简单理解:闭包=内层函数 + 外层函数的变量
// 闭包基本格式
function outer() {
const a = 1;
function f() {
console.log(a);
}
f();//调用函数
}
outer();//调用函数
内层函数f,用到了外层函数的a,这就是闭包
闭包函数分析
function outer() {
let a=10;
function inner() {
console.log(10*a);
}
return inner;
}
outer();
const k=outer();
console.log(k);
k();
第一步:执行outer();
outer();的返回值是函数innner
第二步:将函数outer;给了k
第三步:k();实际调用执行inner