内存溢出
- 一种程序运行出现的错误
- 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
内存溢出导致网页卡死varobj= {} for (vari=0; i<100000; i++) { obj[i] =newArray(10000000) }
- 内存泄露
- 占用的内存没有及时释放
- 内存泄露积累多了就容易导致内存溢出
- 常见的内存泄露:
- 意外的全局变量
- 没有及时清理的计时器或回调函数
- 闭包
内存泄漏导致内存溢出// 意外的全局变量functionfn () { a= [] //不小心没有var定义} fn() // 没有及时清理的计时器setInterval(function () { console.log('----') }, 1000) // clearInterval(intervalId)// 闭包functionfn1() { vara=4functionfn2() { console.log(++a) } returnfn2} varf=fn1() f() // f = null