内存溢出和内存泄漏

Mr.PDG小于 1 分钟

内存溢出和内存泄漏

1.内存溢出

一种程序运行出现的错误

当程序运行需要的内存超过了剩余的内存时,就抛出内存溢出的错误。

2.内存泄漏

  • 占用的内存没有及时释放

  • 内存泄漏积累多了就容易导致内存溢出

3.常见的内存泄漏

  • 意外的全局变量
function fn(){
    //这里的a是一个全局变量,占用了大量的全局变量空间,从而导致内存泄漏
 a=jnew Array(1000000)
 console.log(a)
}
fn();
  • 没有及时清理的计时器或回调函数。计时器多了就会占用太多的内存,也会造成内存泄漏。
  • 没有及时卸载无用的事件绑定,会造成内存的泄漏。
  • 由于闭包的存在,且没有即使处理,这时闭包一直都在内存当中,数据多了,就会造成内存的泄漏。
  • console.log()导致内存引用,会造成内存的泄漏。