谈到闭包,首先得说下变量的作用域问题。
变量分为全局变量和局部变量,JavaScript中,函数内部可以读取外部的全局变量,但是函数外部无法读取函数内部变量,如果要读取函数内部变量该怎么办呢?
这个时候,闭包就出场啦。闭包,直白点就是函数嵌套函数,可以理解成一个函数内部的函数,闭包本质上是函数内部和外部链接的桥梁。
闭包用途:1.读取函数内部的变量2.让变量的值始终保存在内存中
使用场景:函数内部return一个函数出来,函数作为参数传入函数中,自运行函数
缺点:内存泄漏,消耗内存,影响性能
前端路漫漫,修行在自身