浏览器渲染原理:从解析 HTML 到屏幕成像
这篇文章梳理了浏览器从解析 HTML 到屏幕成像的完整渲染流程,包括样式计算、布局、分层、绘制、分块与光栅化,并解释了 reflow、repaint 和 transform 高效的原理。
这篇文章梳理了浏览器从解析 HTML 到屏幕成像的完整渲染流程,包括样式计算、布局、分层、绘制、分块与光栅化,并解释了 reflow、repaint 和 transform 高效的原理。
这篇文章梳理了浏览器从解析 HTML 到屏幕成像的完整渲染流程,包括样式计算、布局、分层、绘制、分块与光栅化,并解释了 reflow、repaint 和 transform 高效的原理。
这篇文章以 Vue 3 项目为例,介绍了使用 Vite 的 manualChunks 配置将第三方依赖单独打包的优化方法,并总结了代码分包带来的缓存与加载优势。
这篇文章以 Vue 3 项目为例,介绍了使用 Vite 的 manualChunks 配置将第三方依赖单独打包的优化方法,并总结了代码分包带来的缓存与加载优势。
这篇文章讲解了浏览器的进程模型、渲染主线程的工作方式与事件循环机制,并结合实例说明了 JS 单线程为何会阻塞渲染以及浏览器如何通过异步避免卡顿。
这篇文章讲解了浏览器的进程模型、渲染主线程的工作方式与事件循环机制,并结合实例说明了 JS 单线程为何会阻塞渲染以及浏览器如何通过异步避免卡顿。
这篇文章对比了 eval、setTimeout、动态 script 标签和 new Function 这几种在 JavaScript 中动态执行字符串代码的方式,分析了各自的执行时机与作用域特点。
这篇文章对比了 eval、setTimeout、动态 script 标签和 new Function 这几种在 JavaScript 中动态执行字符串代码的方式,分析了各自的执行时机与作用域特点。
这篇文章介绍了一个 TypeScript 开发小技巧:通过 as const 将数组转为元组,再利用索引访问类型生成联合类型,让类型与数据保持一致。
这篇文章介绍了一个 TypeScript 开发小技巧:通过 as const 将数组转为元组,再利用索引访问类型生成联合类型,让类型与数据保持一致。
这篇文章介绍了 HTML 资源提示符中 async、defer、preload、prefetch 和 module 的作用与区别,解释了它们如何优化页面资源加载。
这篇文章介绍了 HTML 资源提示符中 async、defer、preload、prefetch 和 module 的作用与区别,解释了它们如何优化页面资源加载。
年前回到我可爱的湛江,不禁感叹家乡变化好大,我一个本地人都显得有些许陌生,晚上逛了一下金沙湾观海长廊,微风拂面,好不惬意,希望湛江发展越来越好。
年前回到我可爱的湛江,不禁感叹家乡变化好大,我一个本地人都显得有些许陌生,晚上逛了一下金沙湾观海长廊,微风拂面,好不惬意,希望湛江发展越来越好。
这篇文章记录了作者春节前最后一个工作日的心情,聊了回南天的潮湿天气、年后换工作的打算,以及对催婚和亲戚往来的感慨。
这篇文章记录了作者春节前最后一个工作日的心情,聊了回南天的潮湿天气、年后换工作的打算,以及对催婚和亲戚往来的感慨。
这篇文章从函数的二义性出发,解释了 JavaScript 中箭头函数存在的原因,并对比了箭头函数与 class 在调用方式、this 和原型上的差异。
这篇文章从函数的二义性出发,解释了 JavaScript 中箭头函数存在的原因,并对比了箭头函数与 class 在调用方式、this 和原型上的差异。
这篇文章介绍了对象解构与数组解构的原理,解释了为什么普通对象不能直接用于数组解构,并演示了通过给 Object.prototype 添加 Symbol.iterator 来使等式成立的方法。
这篇文章介绍了对象解构与数组解构的原理,解释了为什么普通对象不能直接用于数组解构,并演示了通过给 Object.prototype 添加 Symbol.iterator 来使等式成立的方法。