内存泄漏:
- 占用内存没有及时释放;
- 意外的全局变量;
- 没有及时清理计时器或回调函数;
- 闭包;
function fn1(){
var arr =new Array[1000000]
function fn2(){
console.log(arr.length)
}
return fn2
}
var f = fn1
fn()
f =null //解决办法手动释放 让内部函数成为垃圾回收对象
内存溢出:
- 程序运行出现的错误;
- 当程序需要内存但超过了剩余内存,就抛出了内存溢出的错误;
var obj = {}
for(var i =0;i<100000;i++){
obj[i]= new Array(100000000)
console.log(obj)
}