1.从闭包说起 什么是闭包 一个函数和对其周围状态(词法环境)的引用捆绑在一起,这样的组合就是闭包. 也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域. 在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来. 上面是MDN对闭包的解释,这几句话可能不太好懂,没关系,我们先来看下能懂的: 闭包是和函数有关 这个函数可以访问它外层函数的作用域 从定义看,每个函数都可以称为闭包 虽然从定义来看,所有函数都可以称为闭包,但是当我们在讨论它的时候,一般是指这种情…