目录
本文核心目标:阅读完本文能说出什么是闭包,闭包作用以及如何利用闭包
一:闭包概览
1 闭包是什么
闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。
简言之,闭包=内部函数+外部函数变量
2 闭包作用
封闭数据,使得外部也可以访问函数内部的变量
闭包典型示例:
<script>
function outer() {
let a = 100
function inner() {
console.log(a);
}
return inner
}
const gb = outer()
gb()
</script>
//上面代码解析:
outer()===inner ===function inner(){}
gb() === function inner(){}
从全局作用域中使用的gb(),进而调用了函数内部变量