堆栈内存的销毁

172 阅读1分钟

堆内存的销毁

谷歌浏览器:定时清除,每隔一段时间就会通篇销毁一次,把js中没用到的地址销毁

 火狐浏览器:计数清除,根据当前地址的引用个数来决定这个地址是否被消耗

栈内存的销毁:

全局作用域的销毁:页面关闭的时候销毁

私有作用域的销毁:只要函数的返回值是一个引用数据类型,那么这个地址就不销毁(执行完外面没有用了就可以销毁了)

不销毁的坏处:栈溢出 造成内存泄漏

闭包:就是一个变量的保护机制

1.是一个不销毁的作用域:一个是用来保护变量不受全局的污染。一个是用来存储值

2.好处:可以实现模块化开发,避免命名冲突

3.不能多用,容易造成内存泄漏

4.特性:函数内再嵌套函数,内部函数可以引用外层的参数和变量,参数和变量不会被垃圾回收机制回收

this:

1.事件绑定中的this,就是当前绑定的元素

2.自执行函数中的this,就是window

3.定时器中的this,指向也是window

4.其他函数看点. 函数执行点前边是谁 this就是谁,没有就是window

5.箭头函数没有this和arguments,他把两者当成了普通的变量去处理,箭头函数的this指向上      级作用域