- 博客(83)
- 资源 (1)
- 收藏
- 关注
原创 深入 React 原理:Reconciliation
从 Vue 转到 React,最大的挑战往往不是 JSX 语法,而是对"渲染机制"底层逻辑的理解偏差。今天从一个看似简单的 Bug,探讨 React 的 Reconciliation(协调)算法原理。
2025-12-16 18:22:41
866
原创 React 避坑指南:让电脑卡死的“无限循环“
React 的依赖比较是"浅比较",它只看皮囊(内存地址),不看灵魂(对象内容)。作为一个老菜鸟,不仅要防闭包,还得防对象。
2025-12-12 16:10:20
809
原创 2026 前端生存指南:35岁菜鸟程序员转行的“出路“在哪里?
作为一名在代码和生活边缘疯狂试探的过来人(zi shen cai niao),期望和大家一起探讨一下 35 岁之后我们还能干点啥。
2025-12-11 11:51:50
615
原创 前端开发的 15 个灵魂拷问:说多了都是泪!
看完这些吐槽,是不是感觉好点了?前端开发虽然痛苦,但我们依然热爱这份工作。✅ 看到自己写的页面在浏览器里完美呈现,很有成就感✅ 解决一个困扰很久的 Bug,比中彩票还开心✅ 用户说"这个页面真好用",所有的加班都值了✅ 技术在不断进步,每天都能学到新东西✅ 最主要能不饿肚子…前端人,加油!💪虽然痛并快乐着,但我们仍在这条路上坚持。因为我们知道,每一行代码都在改变世界,每一个像素都在创造价值。
2025-12-09 16:52:02
668
原创 React 19 生命周期:从入门到实战的完整指南
生命周期就是组件从"出生"到"死亡"的整个过程。就像我们人一样,有出生、成长、衰老、死亡,React 组件也是:创建 → 挂载到页面 → 更新数据 → 再更新 → 最终卸载
2025-12-09 14:49:10
869
原创 React 19:革命性升级与全面使用指南
React 19 带来了颠覆性的变化,重新定义了 React 应用的开发方式。从编译器优化到全新的 Hooks,React 19 让开发更简单、应用更高效。
2025-12-09 13:47:30
892
原创 React 19 vs Vue 3:深度对比与选型指南
React 19与Vue 3作为主流前端框架,在组件化架构、响应式系统、虚拟DOM等核心特性上高度相似,但设计哲学存在显著差异。React采用JavaScript优先的JSX语法,强调灵活性和不可变状态管理;Vue则基于HTML模板和指令,提供更直观的开发体验和可变状态自动追踪。两者均支持TypeScript、SSR等现代化特性,React生态系统更庞大,Vue学习曲线更平缓。项目选择需权衡:追求极致灵活选React,注重开发效率选Vue。
2025-12-09 11:43:47
999
原创 Antigravity:下一代 AI 编程助手完全指南
Antigravity 不仅仅是一个代码补全工具,它是一个能够理解你的意图、主动解决问题的智能编程伙伴。通过先进的 AI 技术,Antigravity 可以帮助你完成从项目规划到代码实现、测试验证的完整开发流程。
2025-12-09 11:06:08
988
原创 深入了解 JavaScript 中的 isNaN() 与 Number.isNaN() 和它们之间的差异
isNaN()和都有其用武之地,但要注意它们之间微妙的差异。选择合适的函数取决于您的使用情况,如果您需要更精确地检查一个值是否为 NaN,是更好的选择。如果您希望将非数字值也视为NaN,则可以使用isNaN()。了解这些差异有助于编写更可靠的JavaScript代码,避免由于类型转换而引发的意外错误。
2023-08-23 15:08:16
913
原创 精益求精:如何在 React 项目中巧妙运用 Redux 并优化项目结构
以上为在 `React` 项目中成功使用 `Redux` 并合理划分项目结构的步骤。`Redux` 提供了一种强大的状态管理解决方案,为您的项目带来了无限可能性。这将使应用程序更易于维护和扩展,为用户提供更好的体验。
2023-08-23 14:58:02
1313
原创 forEach 中的 return 到底有效吗?如何优雅地中断 forEach 循环?
尽管`forEach`中的`return`语句不会中断整个循环,但是可以采用异常抛出、`for...of`循环或`some`、`every`方法等方法来实现中断循环的效果。在使用时,根据场景选择合适的方法,确保代码的可读性和可维护性。
2023-08-23 14:35:18
6884
原创 React 事件代理 和原生事件绑定混用:你的选择会导致什么问题?
虽然`React`提供了强大的事件处理机制,但建议尽量避免混合使用原生事件和`React`事件。如果需要在`React`组件中处理事件,尽量使用`React`提供的事件系统,以确保一致性和性能。
2023-08-23 14:17:15
1319
原创 解密箭头函数:new 一个箭头函数会发生什么?
在JavaScript中,箭头函数是非常强大和有用的,但它们不适合用作构造函数。因此,尽量避免使用new来实例化箭头函数,以免引发错误。
2023-08-23 14:14:00
505
原创 究竟会不会阻塞?HTML文档渲染中的CSS和JS文件下载探秘
在HTML文档渲染过程中,CSS文件的下载不会阻塞DOM的构建,但会阻塞渲染。而JS文件的下载和执行会阻塞DOM的构建和渲染。因此,在前端开发中,优化JS文件的加载方式对于提高网页性能至关重要
2023-08-23 11:41:18
979
原创 穿越网络迷雾的神奇通道 - WebSocket详解
WebSocket是一项强大的前端技术,使得实时通信变得更加简单和高效。通过WebSocket,Web应用能够实现更多有趣和创新的功能,提供更出色的用户体验。希望这篇博客能帮助你更好地理解和应用WebSocket技术。
2023-08-23 11:20:57
2139
原创 揭秘HTTP的长连接和短连接,keep-alive的神奇作用
长连接(Keep-Alive)和短连接是HTTP中重要的连接方式,而keep-alive机制的使用可以显著提高性能,降低网络开销。在开发Web应用时,合理选择连接方式和充分利用keep-alive,将有助于提升用户体验和性能。
2023-08-23 10:59:09
475
原创 深入探讨空间复杂度:前端开发中的关键概念
空间复杂度是评估算法或代码内存使用的重要指标,尤其在前端开发中,考虑浏览器环境和性能限制更为重要。通过了解和优化空间复杂度,我们可以编写更高效、更节省内存的前端应用程序。
2023-08-22 19:18:37
350
原创 JavaScript 倒计时的时间偏差问题与解决方法
在实际项目中,根据需求选择合适的方法来解决时间偏差问题,以确保倒计时功能的准确性和稳定性。这些方法可以帮助你消除因为事件执行机制导致的时间偏差,使倒计时功能更加可靠。
2023-08-22 19:02:41
1938
原创 Async/Await 与 Generator:解析异步编程的巅峰对决
在选择异步编程方法时,async/await 和 Generator 都有各自的优势。async/await 更适用于通常的异步任务,提供了更好的可读性和错误处理。而 Generator 则在需要更细粒度控制的情况下发挥作用,但相对复杂一些。
2023-08-22 17:48:19
283
原创 解决 Canvas 中获取跨域图片数据的问题
跨域问题在使用 Canvas 处理跨域图片时可能会导致一些挑战,但上述方法提供了多种解决方案。你可以根据你的项目需求选择最适合你的方法,以确保 Canvas 正常处理跨域图片数据。
2023-08-22 17:19:04
1982
原创 为什么 React 的 useState 返回的是数组而不是对象?
虽然有时候我们可能更喜欢对象的形式,但 React 的设计选择了返回数组,这是基于灵活性、维护性和一致性的考虑。
2023-08-22 16:39:04
746
原创 HTTP1.0 和 HTTP1.1 的区别
HTTP1.1 相对于 HTTP1.0 带来了许多改进,包括持久连接、管道化、更强大的缓存控制、更多的状态码以及虚拟主机的支持。这些改进使得 HTTP1.1 更适合现代网络环境,因此在实际应用中更为常用
2023-08-22 14:18:39
862
原创 WebSocket 中的心跳是什么,有什么作用?
WebSocket 中的心跳是一种维持连接活跃性的重要机制。通过定期发送小型数据包,可以防止连接由于不活跃而关闭,同时也能检测连接的状态。
2023-08-22 11:48:58
2530
原创 内存泄漏:前端开发者的噩梦——内存泄露的原因及排查
内存泄漏是前端开发中常见的问题,但它并不是无法解决的。通过谨慎管理事件监听器,避免循环引用,使用浏览器开发工具和了解垃圾回收的工作原理,可以帮助排查和预防内存泄漏,确保应用程序保持高性能和稳定性。
2023-08-21 18:21:17
2282
原创 前端数据安全:保护你的应用不被黑客入侵
前端数据安全至关重要,不仅仅是后端开发人员的责任。通过使用 HTTPS、输入验证、防止 XSS 和 CSRF 攻击,以及安全的存储和传输,可以确保你的应用程序和用户数据受到良好的保护。数据安全是一个成功应用程序的重要组成部分。
2023-08-21 17:46:25
1372
原创 Vue 和 JQuery 的区别在哪?为什么 JQuery 会被 Vue 取代?
在现代 Web 开发中,Vue.js 提供了更多的优势和可能性。越来越多的开发人员选择放弃 JQuery 并转向 Vue 来构建他们的应用程序。
2023-08-21 17:37:57
1556
原创 即时通讯:短轮询、长轮询、SSE 和 WebSocket 间的区别
四种常见的即时通讯实现方法:短轮询、长轮询、SSE 和 WebSocket。选择哪种方法取决于应用程序需求和性能要求。短轮询和长轮询适用于较简单的场景,而 SSE 和 WebSocket 更适用于需要高度实时性的应用程序。
2023-08-21 17:22:03
1753
原创 深入理解 HTTP/2:提升 Web 性能的秘密
HTTP/2 是一个强大的协议,可以显著提高网站性能。通过多路复用、二进制协议、首部压缩和服务器推送等特性,它使 Web 页面加载更快,用户体验更佳。
2023-08-21 17:10:11
2135
原创 JS 动画 vs CSS 动画:究竟有何不同?
JS 动画和 CSS 动画都有各自的优点和用途。理解它们的不同之处将帮助在项目中明智地选择使用哪种动画技术,以实现最佳用户体验。
2023-08-21 16:54:31
1758
原创 深入理解事件冒泡和事件捕获
理解事件冒泡和事件捕获对于处理复杂的交互非常重要。可以使用这些概念来创建更灵活和可维护的代码,同时避免不必要的事件冲突。
2023-08-21 16:45:03
322
原创 【基础学习笔记 enum】TypeScript 中的 enum 枚举类型介绍
枚举成员的值可以是字符串(字符串枚举,因为网上大部分只介绍常数枚举),需要注意的一点是,和数字值不同:字符串枚举没有自增长的行为,枚举成员必须设置初始值
2023-08-11 16:01:46
1034
原创 vue3使用iframe引入其他网站,vue-router路由跳转后页面空白,刷新之后才展示页面内容乌龙事件
vue3项目的页面A跳转到页面B时,页面B页面是空白的,需要手动刷新一下才能恢复正常,在页面A中用iframe引入了别的网站(后续事实证明,跟iframe没一毛钱的关系)
2023-08-02 16:25:45
2835
原创 vue3中使用Vue.Draggable的clone模式及遇到的坑
Vue.Draggable 拿来即用,没啥难以上手的,就是我在使用的时候遇到一个问题,就是当右边有重复的数据时,多次上下快速拖动右边的元素排序,会偶发一个bug:右边列表会自动多出一个数据,并且操作不了(没法删除也没法给它排序)
2023-07-18 11:25:12
3209
3
原创 vue3传属性时报错 [Vue warn]: Component is missing template or render function.
vue3传属性时报错 [Vue warn]: Component is missing template or render function.
2023-03-24 18:18:11
14441
7
原创 FormData同时传输多个文件和其他数据
向 FormData 中添加新的属性值,FormData 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。
2023-03-02 19:40:17
4097
2
原创 浅析正则表达式+范围规则校验表达式+js从字符串中截取数字
需求:管理员在某个工单定义一个范围,比如成绩是0-100之间,或者调查问卷的年龄范围,然后工单流转后其他用户输入的数字收到管理员定义个范围影响,所以要求用正则校验管理员输入的范围规则是否合法,然后根据输入的范围,去校验普通用户输入的数值是否合法。
2023-01-18 18:11:48
1252
原创 vant picker选择器组件增加search搜索功能
[vant](https://vant-contrib.gitee.io/vant/#/zh-CN/picker)用在移动端的小项目还是挺合适的,但也有一些不符合需求的地方,比如它的picker选择器有个问题,就是没有搜索功能。其实或许可以自己组合:比如把picker与IndexBar 索引栏结合起来,或者把picker与search搜索功能组合。我用的是第二种方法:在picker上面加个搜索框,不过我用的van-field。
2022-10-14 19:39:32
9365
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅