定义︰指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。
像C这样的编程语言,具有低级内存管理原语,如 malloc()和free()。开发人员使用这些原语显式地对操作系统的内存进行分配和释放。而JavaScript在创建对象(对象、字符串等)时会为它们分配内存,不再使用对时会"自动"释放内存,这个过程称为垃圾收集。
内存生命周期中的每一个阶段:
分配内存一内存是由操作系统分配的,它允许您的程序使用它。在低级语言(例如C语言)中,这是一个开发人员需要自己处理的显式执行的操作。然而,在高级语言中,系统会自动为你分配内在。
使用内存一这是程序实际使用之前分配的内存,在代码中使用分配的变量时,就会发生读和写操作。
释放内存一释放所有不再使用的内存,使之成为自由内存,并可以被重利用。与分配内存操作一样,这一操作在低级语言中也是需要显式地执行。
四种常见的内存泄漏:全局变量,未清除的定时器,闭包,以及dom的引用
1.全局变量不用var声明的变量,相当于挂载到window对象上。如: b=1;解决:使用严格模式
2.被遗忘的定时器和回调函数
3.闭包
4.没有清理的DOM元素引用 ———————————————— 版权声明:本文为CSDN博主「柚oo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/weixin_5618…