上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 在之前的几篇文章中,我们已经经历了把 URL 变成字符流,把字符流变成词(token)流,把词(token)流构造成 DOM 树,把不含样式信息的 DOM 树应用 CSS 规则,变成包含样式信息的 DOM 树,并且根据样式信息,计算了每个元素的位置和大小。 那么,最后的步骤,就是根据这些样式信息和大 阅读全文
posted @ 2022-04-08 10:19 夏目友人喵 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 在构建 DOM 树和计算 CSS 属性这两个步骤,我们的产出都是一个一个的元素,但是在排版这个步骤中,有些情况下,我们就没法做到这样了。 尤其是表格相关排版、flex 排版和 grid 排版,它们有一个显著的特点,那就是子元素之间具有关联性。 基本概念 “排版”这个概念最初来自活字印刷,是指我们把一 阅读全文
posted @ 2022-04-08 00:11 夏目友人喵 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 浏览器是如何把 CSS 规则应用到节点上,并给这棵朴素的 DOM 树添加上 CSS 属性 整体过程 首先 CSS 选择器这个名称,可能会给你带来一定的误解,觉得好像 CSS 规则是 DOM 树构建好了以后,再进行选择并给它添加样式的。实际上,这个过程并不是这样的。 构建 DOM 的过程是:从父到子, 阅读全文
posted @ 2022-04-07 23:59 夏目友人喵 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 今天我们主要来看两个过程:如何解析请求回来的 HTML 代码,DOM 树又是如何构建的。 HTML 的结构不算太复杂,我们日常开发需要的 90% 的“词”(指编译原理的术语 token,表示最小的有意义的单元),种类大约只有标签开始、属性、标签结束、注释、CDATA 节点几种。 实际上有点麻烦的是, 阅读全文
posted @ 2022-04-07 23:29 夏目友人喵 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 对浏览器来说,就是把一个 URL 变成一个屏幕上显示的网页。 这个过程是这样的: 1. 浏览器首先使用 HTTP 协议或者 HTTPS 协议,向服务端请求页面; 2. 把请求回来的 HTML 代码经过解析,构建成 DOM 树; 3. 计算 DOM 树上的 CSS 属性; 4. 最后根据 CSS 属性 阅读全文
posted @ 2022-04-07 22:55 夏目友人喵 阅读(79) 评论(0) 推荐(0) 编辑
摘要: JavaScript 类型对每个前端程序员来说,几乎都是最为熟悉的概念了。但是你真的很了解它们吗?我们不妨来看看下面的几个问题。 为什么有的编程规范要求用 void 0 代替 undefined? 字符串有最大长度吗? 0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这 阅读全文
posted @ 2022-04-07 14:08 夏目友人喵 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 我们先来说说为什么要用语义。 现在我们很多的前端工程师写起代码来,多数都不用复杂的语义标签, 只靠 div 和 span 就能走天下了。 这样做行不行呢?毫无疑问答案是行。那这样做好不好呢?按照正确的套路,我应该说不好,但是在很多情况下,答案其实是好。 这是因为在现代互联网产品里,HTML 用于描述 阅读全文
posted @ 2022-04-06 16:40 夏目友人喵 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 写在前面: 重学前端系列是基于学习winter老师的重学前端课程进行的 个人状态: 散点自学 + 基础不牢 而对于工作之后的前端开发者来说,没有系统学习的问题仍然存在,常常有一些具有多年从业经验的工程师,仍然会在看到一些用法时惊呼:“还可以这样!”在我看来,这些用法都是一些基础的不能再基础的知识点, 阅读全文
posted @ 2022-04-06 13:48 夏目友人喵 阅读(203) 评论(0) 推荐(0) 编辑
摘要: // 为什么会有这个东西,因为用百度云下载了很多视频,不知道为什么存在很多 .downloading的文件,所以就有了这段代码,还有就是文件名带了很多没用的信息,想把无用信息剔除掉就有了后面的一段代码/** * 删除目录下 指定 文件方法 * 参数: dir 文件夹名称 * fs.stat => 判 阅读全文
posted @ 2022-04-06 10:50 夏目友人喵 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 函数调用的时候,浏览器每次都会传递进两个隐式参数:一个是函数的上下文对象this,另一个则是封装实参的类数组对象arguments。 arguments被定义为对象,但对象的属性是无序的,而arguments是用来存储实参的,是有顺序的,它具备和数组相同的访问性质及方式,并拥有数组长度属性lengt 阅读全文
posted @ 2022-03-18 19:11 夏目友人喵 阅读(306) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页