- 博客(19)
- 问答 (1)
- 收藏
- 关注
原创 浏览器的渲染原理
大家有没有深入思考过:一个网页URL从输入到浏览器中,到显示经历过怎么样的解析过程呢?要想深入理解下载的过程,我们还要先理解,一个index.html被下载下来后是如何被解析和显示在浏览器上的。
2026-01-08 22:32:26
1024
原创 Fetch 的使用
Fetch可以看做是早期的XMLHttpRequest的替代方案,它提供了一种更加现代的处理方案:比如返回值是一个Promise,提供了一种更加优雅的处理结果方式比如不像XMLHttpRequest一样,所有的操作都在一个对象上;
2026-01-07 22:42:00
298
原创 事件委托(代理)
特性事件委托核心机制事件冒泡 +优点支持动态元素、节省内存、代码简洁关键 API适用事件所有支持冒泡的事件(主要是click🌟记住:事件委托不是“替代”直接绑定,而是在合适场景下的更优解。
2026-01-06 23:00:43
256
原创 大文件上传+断点续传
通过 uploadId+ 分片状态查询,我们以最小成本实现了实用的断点续传功能。虽然不如 Hash 方案严谨,但在大多数内部场景中完全够用,且开发效率极高。后端代码// 使用 promise 版本// 保留同步方法用于 mkdir// 👈 新增// 👇 CORS 中间件(开发用)next();});// 解析 JSON(用于 /merge-file)// 创建主上传目录if (!// 0. 新增:初始化上传任务if (!
2026-01-05 23:08:24
278
原创 手写实现深拷贝
若是处理多种不同数据类型的对象时可以用以下方法// 需求: 判断一个标识符是否是对象类型// 0.如果值是Symbol的类型// 1.如果是原始类型, 直接返回if (!// 2.如果是set类型// 3.如果是函数function类型, 不需要进行深拷贝// 4.如果是对象类型, 才需要创建对象[]: {}// 遍历普通的key// 单独遍历symbol。
2026-01-05 13:28:51
929
原创 js中如何区分 Array 和 Object
在 JavaScript 中,区分数组(Array)和普通对象(Object)有多种方法。最可靠且常用的方式是使用方法。这是 ES5 引入的标准方法,,是最安全、最清晰的方式。
2026-01-04 15:03:21
167
原创 事件循环机制
每个车间可能有一个以上的工人在工厂,这个工人就是线程;工厂中里有很多车间,这个车间就是进程;,我们只需要在特性的时候执行应该有的回调即可;用来执行程序中的代码,这个线程被称之为。所以我们也可以说进程是线程的容器;浏览器的每个进程是多线程的,那么。其他线程可以来完成这个耗时的操作。多数的浏览器其实都是多进程。页面时就会开启一个新的进程。,整个浏览器需要强制退出;:记录当前正在执行的函数。每个进程中又有很多的线程。的,就意味着当前的线程就。(也可能是多个进程);同一个时刻只能做一件事。
2026-01-04 01:03:14
874
原创 JavaScript 作用域和变量提升
JavaScript 会将var声明的变量和函数声明提升到其作用域的顶部。只有声明被提升,赋值不会提升。let和const也有“提升”,但它们有暂时性死区(Temporal Dead Zone),不能在声明前访问。
2025-10-14 13:41:14
457
原创 Vue v-model 从入门到精通,一篇彻底搞懂双向绑定原理
v-model是 Vue 提供的双向绑定指令,用于在表单元素或自定义组件中实现数据的自动同步。视图 → 数据:用户操作表单时,数据自动更新。数据 → 视图:数据变化时,视图自动更新。
2025-09-11 16:52:04
830
原创 CSS样式之transform
简单来说,transform 可以让你移动、旋转、缩放或倾斜一个 HTML 元素,而不会影响页面中其他元素的布局。
2025-09-02 15:10:15
181
原创 面试题之:script标签中defer和async的区别
和 是 标签的两个属性,它们都用于控制外部脚本(带有 属性的脚本)的加载和执行方式,以避免阻塞 HTML 文档的解析。它们的主要区别在于脚本的执行时机。假设 HTML 文档中有多个 标签: 流程: 流程:使用 :使用 :总结: 确保脚本在文档解析后、按顺序执行; 则让脚本下载完就立刻执行,不保证顺序。在大多数需要操作 DOM 或有依赖关系的场景下,优先选择 。
2025-09-01 10:56:07
438
原创 面试中怎么回答:js检测数据类型的方法
关于 JavaScript 类型检测,我不仅掌握常用方法,还深入理解它们背后的原理和适用场景。我来从‘’四个维度来展开。
2025-09-01 09:48:21
485
原创 display的block、inline和inline-block的区别
本文详细解析了CSS中display属性的三种常见值:block、inline和inline-block的区别。block元素独占一行,可设置宽高和所有边距;inline元素同行显示,不能设置宽高,垂直边距无效;inline-block兼具两者特点,可同行显示且能设置宽高和完整边距。文章通过具体示例展示了三者的实际表现,并提供了常见使用场景指导,帮助开发者根据布局需求选择合适的display属性值。
2025-08-29 15:56:14
1746
原创 面试题之:display: none 和 visibility: hidden 的区别
CSS中display:none和visibility:hidden都能隐藏元素,但存在关键区别:1) display:none不占空间且完全移除元素,会触发重排;visibility:hidden保留空间仅隐藏内容,仅触发重绘;2) display:none的元素不可交互,子元素也无法显示;visibility:hidden的元素仍可响应JS事件,子元素可单独显示;3) 性能上前者开销更大,后者更优;4) 前者适合彻底隐藏元素(如弹窗),后者适合保留占位的场景(如加载动画)。无障碍访问方面,两者都不推荐用
2025-08-28 11:34:12
1096
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅