为什么我不再追流行,而是重新研究了 jQuery

前段时间,有个朋友问我:"你还在用 Vue 吗?我准备转向 Solid.js 了,听说更快。"

我苦笑了一下,手上敲的却是 jQuery。

没错,在这个全网都在拥抱新的前端框架、构建工具和 AI 自动生成组件的时代,我居然重新研究起了 jQuery。

但并不是因为"怀旧"------而是当我在几个真实项目中经历了一轮轮复杂重构、性能灾难和团队混乱之后,我才意识到一个事实:

jQuery 没有过时,只是我们"用 jQuery 的方式过时了"。


1. jQuery 真的"过时"了吗?

坦率地说,它确实老了

它不支持组件化、不支持响应式、没有虚拟 DOM、没有构建工具链、也不支持 TS。但是......

  • 它依然稳定;
  • 它依然小巧;
  • 它依然能跑;
  • 它依然支持 IE(如果你项目还需要);
  • 它依然可以精确控制 DOM,而不需要 hook 或 proxy 响应式。

你以为现代框架很"优雅"?可是一旦项目复杂度上来,hooks、effect、副作用、ref、状态同步......让你一头雾水。

反观 jQuery 的世界,清晰且纯粹:

js 复制代码
$('#btn').on('click', () => {
  $('#modal').fadeIn()
})

不响应式、不 hook,不组件通信,但你能在 5 秒内读懂逻辑,1 分钟内加完功能,调完样式。为什么?因为它只做了一件事:操作 DOM。


2. 我为什么重新研究它?

我不是要做复古博客,也不是想展示情怀,而是遇到了真实的问题

🌪 场景一:复杂表单逻辑 + React 状态同步炸裂

在一次重构老系统的时候,我尝试用 React 重写原本的 jQuery 表单,表单有 60 多个字段,字段之间存在各种联动、隐藏逻辑、校验规则。

但很快我们踩到坑:

  • 多个字段依赖同一个状态,更新不及时;
  • 父组件状态下沉太深;
  • 各种 useEffect 嵌套,逻辑拧巴;
  • 性能瓶颈出现在虚拟 DOM diff 上。

最后,我干脆把这个复杂逻辑模块拆出去,用 jQuery + 原生 JS 实现了一个小型"表单引擎"模块。性能提升了 50%,可维护性也反而提升了。

🎮 场景二:页面局部功能极简快速上线

有时候产品提个紧急需求:"能不能让这个按钮点击后展示个气泡提示框?"

用 Vue/React 写个组件、状态管理、样式绑定,确实优雅,但流程太重。

用 jQuery 呢?2 行代码 + 1 个 CSS class 就搞定了。


3. jQuery 的 3 个隐藏优点,被现代开发者忽视了

✅ 1. 非常适合做微交互和局部增强

很多页面其实不需要全 SPA 架构,只需要"增强"已有 DOM 的交互即可。jQuery 在这种场景依然无敌。

✅ 2. 适用于老项目 + 新模块的混合模式

实际开发中,"大改造"项目远不如你想象的多。更多是"在老系统上打补丁"。jQuery 很适合作为过渡层,不干扰原有逻辑。

✅ 3. 上手门槛极低,新人 3 分钟上手

相比于需要学习 hooks、响应式、TS 泛型的现代框架,jQuery 天然适合实习生和后端写前端。


4. jQuery 能干啥

它非常适合:

  • 老系统维护;
  • 小页面局部增强;
  • 嵌入式交互逻辑;
  • 纯前端 demo 快速构建;
  • 快速原型、功能验证;

5. "用现代的心态使用老技术"

重新看待 jQuery,不是让我们回去抱着 <script src="jquery.min.js"> 做页面特效,而是:

在当前框架越来越重、越来越抽象的今天,我们是否还记得"最初编写 JavaScript 是为了什么"?

是为了「操作页面」,不是为了「学 API」。

用现代工具解决现代问题没错,但不代表老技术没有价值------甚至,它能帮你在复杂之中保持简单


✅ End

jQuery 的时代可能过去了,但「简洁、易懂」的开发哲学,仍然值得今天的开发者去重新理解。

如果你也觉得现代开发越来越卷,不妨试试回归基础,哪怕只写一小段代码。你会发现:

不是 jQuery 太老,而是你写代码的方式太"复杂"。

📌 你可以继续看我的系列文章

相关推荐
[email protected]12 分钟前
Asp.Net Core SignalR导入数据
前端·后端·asp.net·.netcore
小满zs5 小时前
Zustand 第五章(订阅)
前端·react.js
涵信6 小时前
第一节 基础核心概念-TypeScript与JavaScript的核心区别
前端·javascript·typescript
谢尔登6 小时前
【React】常用的状态管理库比对
前端·spring·react.js
编程乐学(Arfan开发工程师)6 小时前
56、原生组件注入-原生注解与Spring方式注入
java·前端·后端·spring·tensorflow·bug·lua
小公主7 小时前
JavaScript 柯里化完全指南:闭包 + 手写 curry,一步步拆解原理
前端·javascript
姑苏洛言8 小时前
如何解决答题小程序大小超过2M的问题
前端
TGB-Earnest9 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表
GISer_Jing9 小时前
JWT授权token前端存储策略
前端·javascript·面试
开开心心就好9 小时前
电脑扩展屏幕工具
java·开发语言·前端·电脑·php·excel·batch