垃圾回收,内存泄漏⭐⭐⭐⭐⭐
垃圾回收
垃圾回收是JavaScript具有自动垃圾回收机制,会自动找出不再继续使用的变量,释放其占用内存,垃圾回收器会按照固定的时间周期性的执行,可以用标记删除、引用计数来标识没有用的变量
内存泄漏
内存泄漏是由于代码逻辑缺陷等原因,一些不需要的变量还存在着引用,导致占用的内存释放不掉。页面运行时间越长,内存占用越多,会出现性能差,延迟高,崩溃频繁等现象
导致内存泄漏的场景
- 全局变量(使用完设置未null,将逻辑放在自执行函数中)
- 遗忘的定时器和回调函数(手动清除定时器)
- DOM引用(手动释放)
- 错误使用闭包(避免滥用)
扩展:什么是闭包闭包的使用场景?