/*
* 闭包:它是一种保护机制,保护里边的变量不受外界的影响;
* 函数执行,形成一个私有作用域,这个私有作用域就是闭包;
* 不销毁的私有作用域才是闭包;
* */
栈内存:销毁,当这个作用域没有用处时,就销毁;没有用:跟外界没有任何关系了
私有作用域销毁,函数执行完成之后,看这个作用是否还有用处,没有用就直接销毁
全局作用域的销毁, 只有在关闭页面的时候销毁

堆内存:函数体,对象的键值对 。。。
销毁: 没有用的时候;在浏览器查看到这个堆内存没有用处时,就销毁

所有匿名函数 都不会进行变量提升
自执行函数也不会变量提升
return 后边的 也不会有变量提升
等号 右边不进行变量提升