内存溢出和内存泄漏
小于 1 分钟
内存溢出和内存泄漏
1.内存溢出
一种程序运行出现的错误
当程序运行需要的内存超过了剩余的内存时,就抛出内存溢出的错误。
2.内存泄漏
占用的内存没有及时释放
内存泄漏积累多了就容易导致内存溢出
3.常见的内存泄漏
- 意外的全局变量
function fn(){
//这里的a是一个全局变量,占用了大量的全局变量空间,从而导致内存泄漏
a=jnew Array(1000000)
console.log(a)
}
fn();
- 没有及时清理的计时器或回调函数。计时器多了就会占用太多的内存,也会造成内存泄漏。
- 没有及时卸载无用的事件绑定,会造成内存的泄漏。
- 由于闭包的存在,且没有即使处理,这时闭包一直都在内存当中,数据多了,就会造成内存的泄漏。
console.log()
导致内存引用,会造成内存的泄漏。