HTML 新标签 到底有什么用?
一、先说结论 <search> 是 HTML 新增的一个语义化容器标签,专门用来包裹页面或应用中"与搜索、筛选功能相关"的内容——通常就是一个搜索框、筛选控件组,或者两者的组合。它本身不参...
HTML 学一天就会,为什么工作十年都不一定精通?
一、一个真实但容易被误解的现象 几乎每个程序员的学习生涯,都是从 HTML 开始的。打开编辑器,写下 <!DOCTYPE html>,敲几个标签,保存,用浏览器打开——一个网页就诞生了。整...
Tree Shaking 到底在”摇”什么?
如果你写过几年前端代码,大概率在打包工具的输出日志里见过这个词——Tree Shaking。webpack、Rollup、esbuild、Vite,几乎所有现代构建工具都把它当作标配功能来宣传。但如果...
Code Splitting 是什么?为什么现代前端项目都需要它?
引言 打开一个现代 Web 应用,如果首屏加载慢、白屏时间长,很多时候问题并不出在服务器或网络本身,而是出在一个被忽视的细节上:浏览器一次性加载了太多它当下根本用不到的代码。随着前端项目规模越来越大...
async、defer、type=”module” 到底有什么区别?
写过前端的人大概都遇到过这样的场景:页面加载很慢,或者脚本报错说某个变量没定义,排查半天发现是 <script> 标签的加载方式出了问题。async、defer、type="module...
DocumentFragment 到 2026 年还有必要使用吗?
如果你已经好几年没有手写过原生 DOM 操作,DocumentFragment 这个 API 大概率已经被你遗忘在角落里。毕竟现在写业务代码,React、Vue、Svelte 早就把 DOM 更新这件...
什么是 Layout Thrashing?
引子:一段"看起来没问题"的代码 假设你需要给页面上的一组元素动态设置宽度,让它们和某个参考元素保持一致。很多人会写出这样的代码: const boxes = document.querySelect...
Reflow、Repaint、Composite 到底有什么区别?
做前端的人多多少少都听过这句忠告:"少触发 reflow,能用 transform 就别用 top/left"。但如果追问一句"reflow 和 repaint 具体差在哪儿?composite 又是...
浏览器到底是怎么把 HTML 渲染到屏幕上的?
写了这么多年前端代码,我们每天都在跟 HTML、CSS、JS 打交道,但很少有人真正停下来想一想:从我们敲下 <div> 到用户在屏幕上看到一个个像素点,中间到底发生了什么? 这篇文章尝试...
为什么 DOM 操作比普通 JavaScript 运算贵?
写过前端的人大概率都听过这句话——"少操作 DOM"。面试时被问到性能优化,十有八九也会提到"减少 DOM 操作次数"。但这句话背后的原理是什么?为什么同样是"执行一行代码",操作 DOM 就要比普通...