07 2025 档案

摘要:面试时候经常会被问及 Cookie 大小限制,但一直没尝试写一些 demo 测试下溢出极限值会怎样~~ 本文就来看看各种极限情况! 英文 测试代码: (() => { const maxSize = 4 * 1024; // 4KB const name = 'name' // 最大出入的 valu 阅读全文
posted @ 2025-07-29 10:54 前端路引 阅读(701) 评论(0) 推荐(0)
摘要:前端的 cookie 读写在 2020 年之前一直不存在一个官方的接口,每次需要使用 cookie 的时候,要么是引入三方插件,要么就需要自己封装一个公用的组件或函数。 npm 的 cookie 插件周下载量 6 千万左右,可以想象一下此功能在前端的应用场景有多么广泛~~ cookie 插件: ht 阅读全文
posted @ 2025-07-23 10:07 前端路引 阅读(584) 评论(0) 推荐(0)
摘要:前端开发一直有种错觉,好像异常捕获都是后端的事,毕竟后端开发时如果不处理代码中的异常,有些资源得不到释放,极其容易导致内存泄漏。 前端由于 JS 的垃圾回收机制无需手动释放资源,反而不会怎么使用异常捕获代码中的错误。实际上任何编程语言,要写出一个健壮性的代码,都需要考虑异常处理。 本文分析下哪些地方 阅读全文
posted @ 2025-07-21 09:35 前端路引 阅读(610) 评论(0) 推荐(0)
摘要:JS 中异步任务随处可见,比如: 1、用户交互的点击、输入 2、网络请求的 fetch、ajax、WebSocket 3、资源中的图片、脚本加载 4、定时任务 setTimeout、setInterval、动画 5、Web Worker 中的后台任务 以上这些地方都能见到 JS 异步任务使用场景。 阅读全文
posted @ 2025-07-17 10:41 前端路引 阅读(729) 评论(0) 推荐(2)
摘要:在 ES6 之前,JS 的多行字符串一直是开发难题,在处理多行字符串时,各种各样的方案都有~~ 在 JS 中,如果直接这样写多行字符串: const str1 = '第一行 第二行'; 那浏览器转过来就打脸,分分钟报错: Uncaught SyntaxError: Invalid or unexpe 阅读全文
posted @ 2025-07-16 09:14 前端路引 阅读(658) 评论(0) 推荐(1)
摘要:开发中经常会遇这样的需求:点击 A 元素的时候,需要触发 B 元素的事件,比如:点击一个 div 元素,然后触发 input:file 的 click 事件,用来选择文件上传。 click 方法 以上需求可通过元素的 click 方法触发: <style> .test2 { padding: 4px 阅读全文
posted @ 2025-07-14 09:14 前端路引 阅读(503) 评论(0) 推荐(2)
摘要:题外话 在考察事件基础的时候,会经常被问及 click、mousedown、mouseup 它们三者执行的先后顺序是怎样的? 如果平时没太注意,这细节可能就会忽略,毕竟很少会在同一个元素上面同时绑定这三个事件~~ 直接上示例: <div class="c">测试点击事件</div> <script> 阅读全文
posted @ 2025-07-08 11:43 前端路引 阅读(509) 评论(4) 推荐(0)
摘要:如今 Vue 大行其道,大部分开发场景直接使用 @click 就实现了事件绑定,可能都没思索过 JS 中的事件性能优化。 事件委托原理 事件委托 其主要是利用了事件冒泡这个特性。 以点击事件 click 为例:将事件绑定在父元素上,点击子元素会通过冒泡的方式触发父元素的点击事件。这种绑定事件的方式, 阅读全文
posted @ 2025-07-03 09:27 前端路引 阅读(589) 评论(2) 推荐(0)
摘要:在讨论冒泡和捕获之前,先看这么一段代码: <style> .bd { border: 1px solid #000; padding: 8px; } </style> <div id="container1" class="bd"> 外层 <div id="container2" class="bd 阅读全文
posted @ 2025-07-01 09:31 前端路引 阅读(608) 评论(0) 推荐(1)