闭包:一个函数和它的周围状态的引用捆绑在一起的组合
当定义的函数的时候,它会跟周围的状态引用在一起
如果面试官问到闭包
关键词:词法作用域
加分项:执行上下文机制 V8垃圾回收机制
// 1.函数作为返回值
function test(){
var a = 1
return function(){
console.log('a',a)
}
}
var fn = test()
const a = 2
fn() //1
// 2.函数作为参数
function test(fn){
const a = 1
fn()
}
const a = 2
function fn(){
console.log('a',a)
}
test(fn) //2