学习流程
v8 引擎
01. 栈空间和堆空间
02. 垃圾回收
03. 编译器和解释器
04. Scavenge 算法
05. Mark-Sweep 算法
06. Mark-Compact 算法
07. Incremental Marking 算法
浏览器中的页面循环系统
01. 消息队列和事件循环:页面是怎么 “活” 起来的?
02. WebAPI:setTimeout 是如何实现的?
03. WebAPI:requestAnimationFrame 的工作机制
04. WebAPI:XMLHttpRequest 是如何实现的?
05. 宏任务和微任务:不是所有任务都是一个待遇
06. Promise:使用 Promise,告别回调函数
07. async/await:使用同步的方式去写异步代码
08. 任务调度:有了 setTimeOut,为什么还要使用 rAF?
浏览器中的页面
01. DOM 树:JavaScript 是如何影响 DOM 树构建的
02. 渲染流水线:CSS 如何影响首次加载时的白屏时间?
03. 分层和合成机制:为什么 CSS 动画比 JavaScript 高效?
04. 页面性能:如何系统地优化页面?
05. 虚拟 DOM :虚拟 DOM 和实际的 DOM 有何不同?
06. WebComponent:像搭积木一样构建 Web 应用
07. 页面性能工具:如何使用 Performance?
08. 性能分析工具:如何分析 Performance 中的 Main 指标?
浏览器中的网络
01. HTTP/1:HTTP 性能优化
02. HTTP/2:如何提升网络速度?
03. HTTP/3:甩掉 TCP、TLS 的包袱,构建高效网络
浏览器的安全
01. 同源策略:为什么 XMLHttpRequest 不能跨域请求资源?
02. 跨站脚本攻击(XSS):为什么 Cookie 中有 HttpOnly 属性?
03. CSRF 攻击:陌生链接不要随便点
04. 安全沙箱:页面和系统之间的隔离墙
05. HTTPS:让数据传输更安全
06. HTTPS: 浏览器如何验证 CA 证有效性?