闭包
概念:一个函数和它的周围状态的引用捆绑在一起的组合
代码示例:
<script>
// 1、函数作为返回值
function test() {
const a = 1;
return function() {
console.log('a', a);
}
}
const f = test();
const a = 2;
f();//a 1
// 2、函数作为参数传入
function test2(fn) {
const b = 1;
fn();
}
const b = 2;
function fn() {
console.log('b', b)
}
test2(fn)//b 2
</script>