javascript垃圾收集机制
javascript具有自动垃圾回收机制,这种自动垃圾回收机制方式是mark-and-sweep,就是标记删除方式。尽管有这种垃圾回收,jser不用像c++工程师那样时刻想着内存的问题,但是编码不当,同样会导致内存泄漏。
常见内存泄漏原因
1.全局变量引起的内存泄漏
a = 'xxx' //a没有使用var 或者 let,a将会变成全局变量,相当于window.a,此时的a将一直存在,直到页面销毁。
2.闭包引起的内存泄漏
` var leaks = (function(){ var leak = 'xxxxxx';// 被闭包所引用,不会被回收 return function(){ console.log(leak); } })()`
3.删除dom,与dom相关的事件绑定并没有删除
`$('#container').bind('click', function(){ console.log('click'); }).remove();` //container的bind并没有去除