很多小伙伴对「闭包」这个概念的理解是云里雾里的,其实闭包这个概念没那么复杂。
闭包正确的定义是,假如一个函数能访问外部的变量,那么就形成了一个闭包,而不是一定要返回一个函数。
来看一段代码示例:
let a = 1 // 形成了一个闭包 function fn() { console.log(a) } function fn1() { let a = 1 // 形成了一个闭包 return () => { console.log(a) } } const fn2 = fn1() fn2()
闭包的内容就是这么多,只要把闭包的定义牢记于心即可。
回顾一下,闭包的定义是,假如一个函数能访问外部的变量,那么就形成了一个闭包。