堆内存的销毁
谷歌浏览器为例:浏览器会定期的查看整个堆内存,会把没有被引用的堆内存销毁掉(回收)
栈内存的销毁
全局作用域对应的栈内存:关闭页面的时候才会被销毁掉;
私有作用域对应的栈内存:一般情况下,函数执行完成,对应的栈内存就会销毁掉
当返回值是个引用数据类型时,不会被销毁掉。
栈溢出 和内存泄漏的意思就是 :栈内存被占满了;占内存不够用了
闭包
闭包:闭包是一个私有变量的保护机制;面试时的闭包是指一个不被销毁的作用域。
闭包是个变量的保护机制,保护私有变量不受外界的污染。
使用闭包可以实现 代码的模块化,每个模块之间是相互独立的;
比如 :当有一个页面有登录功能和注册功能;这两个让两个人去编写;当两个人合到一起的时
候会出现错误因为两个人的命名有的会重复,会出现重叠的现象
所以使用闭包就不会出现这种,因为闭包使两个功能之间都是相互独立的,互不影响。