内存泄漏
程序员文章站
2022-04-19 07:58:27
...
JavaScript 的垃圾收集机制
内存泄露可以定义为:应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。
常见内存泄漏的原因
虽然JavaScript 会自动垃圾收集,但是如果我们的代码写法不当,会让变量一直处于“进入环境”的状态,无法被回收。下面列一下内存泄露常见的几种情况。
1. 全局变量引起的内存泄漏
function leaks(){
leak = 'xxxxxx'; //leak 成为一个全局变量,不会被回收
}
2. 闭包引起的内存泄漏
var leaks = (function(){
var leak = 'xxxxxx';// 被闭包所引用,不会被回收
return function(){
console.log(leak);
}
})()
3. dom清空或删除时,事件未清除导致的内存泄漏
<div id="container"></div>
$('#container').bind('click', function(){
console.log('click');
}).remove();
解决:
<div id="container"></div>
$('#container').bind('click', function(){
console.log('click');
}).off('click').remove();
//把事件清除了,即可从内存中移除
上一篇: 删除表数据零基础入门教程汇总
下一篇: 在数据库中能够唯一地标识一个记录被称为