【金秋打卡】第23天 前端面试技能拼图3
2022/11/16 4:24:02
本文主要是介绍【金秋打卡】第23天 前端面试技能拼图3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:2周刷完100道前端优质面试真题
课程章节:第5章 前端面试技能拼图3 :知识深度 - 原理和源码
主讲老师:双越
课程内容:
今天学习的内容包括:
5-6 -如何检测JS内存泄漏——可以通过performance的memory来分析内存泄漏的风险。
5-7 -JS内存泄漏的场景有哪些——全局变量事件定时器等未及时清理而导致内存无法GC。
5-8 -JS内存泄漏的场景有哪些-扩展-WeakMap和WeakSet——跟Map和Set强引用不同,WeakMap和WeakSet是弱引用类型,GC可以回收。
课程收获:
演示:检测内存变化
- 可以通过window.performance.memory检测内存,查看内存的变化
- 正常情况下,内存使用会有升高和回落,如果内存占用一直升高,需要关注是够发生内存泄漏
内存泄漏的场景(Vue为例)
- 被全局变量、函数引用,组件销毁时未清除
- 被全局事件、定时器引用,组件销毁时未清除
mounted() { window.addEventListener('resize', fn) } beforeUnmount() { window.removeEventListener('resize', fn) }
- 被自定义事件引用,组件销毁时未清除
mounted() { event.on('showMsg', this.showMsg) } beforeUnmount() { event.off('showMsg', this.showMsg) }
划重点
- 前几年前端不太注重内存泄漏,因为不像后端7*24持续运行
- 近几年前端功能不断复杂,内存问题也要重点考虑
WeakMap WeakSet 弱引用
const wMap = new WeaMap() // 弱引用 function fn1(){ const obj = { x: 100 } wMap.set(obj, 100) // weakMap 的 key 只能是引用类型 } fn1() wMap.get() // null
今天的 学习了 如何检测JS内存泄漏、JS内存泄漏的场景有哪些以及JS内存泄漏的场景有哪些-扩展-WeakMap和WeakSet,经过今天的学习知道了如何对内存占用进行分析,规避内存泄漏的风险,知道了弱引用的存在。
下一步就是 学习了 浏览器和nodejs事件循环(Event Loop)有什么区别。今天学习就先到这里吧。
坚持打卡,坚持学习,未来可期,加油😀~
这篇关于【金秋打卡】第23天 前端面试技能拼图3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21动态面包屑教程:新手入门指南
- 2024-12-21动态主题处理教程:新手必读指南
- 2024-12-21富文本编辑器教程:新手入门指南
- 2024-12-21前端项目部署教程:从零开始的全面指南
- 2024-12-21拖拽表格教程:轻松入门指南
- 2024-12-21Element-Plus教程:新手入门与实战指南
- 2024-12-21TagsView标签栏导航教程:轻松掌握标签栏导航
- 2024-12-21动态表格实战:新手入门教程
- 2024-12-21动态菜单项实战:一步步教你实现动态菜单项
- 2024-12-21动态面包屑实战:新手教程