摘要: 浏览器是如何把 CSS 规则应用到节点上,并给这棵朴素的 DOM 树添加上 CSS 属性 整体过程 首先 CSS 选择器这个名称,可能会给你带来一定的误解,觉得好像 CSS 规则是 DOM 树构建好了以后,再进行选择并给它添加样式的。实际上,这个过程并不是这样的。 构建 DOM 的过程是:从父到子, 阅读全文
posted @ 2022-04-07 23:59 夏目友人喵 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 今天我们主要来看两个过程:如何解析请求回来的 HTML 代码,DOM 树又是如何构建的。 HTML 的结构不算太复杂,我们日常开发需要的 90% 的“词”(指编译原理的术语 token,表示最小的有意义的单元),种类大约只有标签开始、属性、标签结束、注释、CDATA 节点几种。 实际上有点麻烦的是, 阅读全文
posted @ 2022-04-07 23:29 夏目友人喵 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 对浏览器来说,就是把一个 URL 变成一个屏幕上显示的网页。 这个过程是这样的: 1. 浏览器首先使用 HTTP 协议或者 HTTPS 协议,向服务端请求页面; 2. 把请求回来的 HTML 代码经过解析,构建成 DOM 树; 3. 计算 DOM 树上的 CSS 属性; 4. 最后根据 CSS 属性 阅读全文
posted @ 2022-04-07 22:55 夏目友人喵 阅读(75) 评论(0) 推荐(0) 编辑
摘要: JavaScript 类型对每个前端程序员来说,几乎都是最为熟悉的概念了。但是你真的很了解它们吗?我们不妨来看看下面的几个问题。 为什么有的编程规范要求用 void 0 代替 undefined? 字符串有最大长度吗? 0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这 阅读全文
posted @ 2022-04-07 14:08 夏目友人喵 阅读(74) 评论(0) 推荐(0) 编辑