闭包
1.什么是闭包?
简单来说,就是函数内嵌函数,然后内部函数可以调用外部函数的变量
优点:保护变量不受污染,保存变量不被回收
缺点:容易内存泄漏(内存泄漏是指应该被回收的变量没有被回收)
这个图片解释了闭包函数的处理流程,可以好好的研究一下
一、创建全局作用域
1.变量提升
var,function
2.代码自上而下运行
当需要执行函数时,开辟堆内存,形成私有作用域
(1)形参赋值/变量提升 如果有外界传递过来的参数,那么该变量为此私有作用域的私有变量
(2)函数内部代码自上而下运行 堆内存用不到的话,会被销毁