本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
jQuery 还没“死”。最近,一个曾经红极一时的老框架 jQuery 正式发布了它的 4.0 版本。
这个版本,远在 2024 年 2 月,jQuery 团队就发布了 4.0.0-beta 版本。直到 2026 年 1 月,正式版才终于亮相,谁能想到这个版本经历了两年的 beta。我想,这可能是 jQuery 的使用率低的原因造成的。
但是,我看了一下 OpenJS 基金会的报告,发现这个不爱待见的 jQuery,还有 90% 的网站在使用它。这也是 jQuery 继续发布新版本的原因之一。
接下来,我们就一起来看看,骂了十年“过时”,这个“过气”的网站,又迎来了哪些改变。
jQuery 4.0 核心新特性
这是一场迟到的现代化改进,官方的博客中写了很多内容,但我总结下来,一共有 6 点重大改进或改动。
彻底告别 IE 时代
jQuery 4.0 正式放弃对 IE10 及更早版本的支持,官方还透露,IE11 将在 jQuery 5.0 中淘汰。同时停止支持 Edge Legacy、iOS < 11、Firefox < 65 等老旧浏览器。
这个改动,直接让 jQuery 更轻量级了,尤其是它能减小压缩后的 gzip 体积。但,这对于现在 5G 时代来说,影响微乎其微。
如果是老旧项目,或对于那些仍需要支持古董浏览器的项目,官方建议大家继续使用 jQuery 3.x。
拥抱 ES Modules 现代架构
这次,最底层的变革是将源码从 AMD 模块系统全面迁移至 ES Modules,并使用 Rollup 进行打包。这意味着:
- 可直接在支持原生模块的浏览器中导入使用
- 与现代构建工具(webpack、Vite等)无缝衔接
- tree-shaking 友好,未使用的功能可以被有效剔除
支持 Trusted Type 和 CSP
在安全合规、内容安全策略(CSP)成为企业级应用标配的今天,jQuery 4.0 引入 Trusted Types 支持,确保 HTML 操作不会违反require-trusted-types-for指令。同时,异步脚本加载全面转向<script>标签,大幅减少内联脚本带来的 CSP 报错。
说白了,过去写的类似$(div).html('<img src=x onerror=alert(1)>')这样的代码,在严格 CSP 下会被阻止。而现在的 jQuery 4.0 若配合 Trusted Types,可安全地处理这类操作(前提是内容本身可信),同时自身加载插件或脚本也不再依赖危险的内联方式。
API 大瘦身
根据官网的说明,有 13 个废弃方法被移除。
下面这些 API 是陪伴开发者多年的“老朋友”,现已正式退场。
jQuery.isArray,jQuery.isFunction,jQuery.isWindow(都有原生替代)jQuery.trim(),jQuery.camelCase(),jQuery.now()(已废弃多年)jQuery.cssNumber,jQuery.cssProps(内部API)jQuery.parseJSON()(直接用JSON.parse())jQuery.fx.interval(动画相关)
应该没有多少人会愿意升级 jQuery 4.0 吧。即使是因为安全问题,也推荐大家使用 jQuery Migrate 插件检测代码,逐步替换这些 API。
Slim 再瘦身,仅 19.5KB
Slim 版本进一步移除 Deferred 和 Callbacks 模块,gzip 后仅 19.5KB。在现代浏览器中,原生 Promise 已能胜任大多数异步场景。这一版本非常适合只需 DOM 操作和事件处理的轻量应用。
注意,Slim 版本是 jQuery 官方提供的功能裁剪版,并非我们常见的 min 版。
事件系统遵循 W3C 标准
焦点事件,如 focus、blur、focusin、focusout 等,它们的顺序不再由 jQuery 自定义,而是全面遵循最新 W3C 规范。这可能导致部分依赖旧行为的代码出问题,但换来了跨浏览器的一致性。
jQuery 使用率
这个反差很大,现在它的采用率很低,所以给人的印象是,应该没有多少应用在使用它。然而,它竟然是一个被误解的王者。
一个反直觉的事实是,jQuery 从未真正离开。
根据 OpenJS 基金会基于 IDC 调研的数据,全球约 90% 的网站仍在使用 jQuery。其中约三分之一运行的是存在安全漏洞的过时版本。
这个数据也揭示出了两个真相。
- 存量市场巨大:互联网上有数以亿计的历史网站、企业内网系统、政府平台,它们不需要重写,只需要维护
- 版本碎片化严重:从 1.3.x 到 3.7.x,各种版本仍在生产环境运行,这也是 HeroDevs 推出 NES(Never-Ending Support)服务的商业逻辑。
jQuery 为何过气了?
虽然说老项目采用 jQuery 的还有很多,但是 jQuery 依旧是“过气”了。我想,这大概是基于下面 4 点原因。
新项目的主动放弃
2015 年后,React、Vue 等现代框架崛起,它们提供了。
- 组件化开发模式
- 声明式 UI
- 虚拟 DOM 性能优化
- 完善的生态系统
新项目几乎不再选择 jQuery 作为基础框架。
浏览器原生 API 的成熟
querySelectorAll()、fetch()、classList、原生Promise等 API 的出现,让 jQuery 的“语法糖”价值大打折扣。现在写原生 JavaScript 不再痛苦。
开发范式的转移
从“操作 DOM”到“数据驱动视图”,前端开发思维模式发生了根本转变。jQuery 擅长 DOM 操作,但在管理复杂应用状态时显得力不从心。
生态系统的萎缩
尽管 jQuery 插件曾如繁星般璀璨,但新插件的产出速度已远不及现代框架。开发者社区的关注度和创新活力持续下降。尤其是开发范式的转移,对 jQuery 的降维打击。
如果仅仅是上面这些负面原因,jQuery 也完全没必要推出新版本。实际上,还有不少场景还再使用 jQuery。
使用 jQuery 的场景
WordPress 帝国
WordPress 有些人可能没听说过,尤其是 Java 程序员。因为这个应用是一个 php 程序。
要知道,全球 43% 的网站运行在 WordPress 上,而 WordPress 深度依赖 jQuery。这是 jQuery 使用率数据的最大贡献者。从主题到插件,整个生态建立在 jQuery 之上。
企业级遗留系统
银行、政府、大型企业的内部系统,动辄十年历史,代码量巨大。重写成本以百万计,维护升级才是现实选择。jQuery 4.0 的发布,正是为了服务这部分需求。
老旧的存量市场依旧很大,有点想我们现在的汽车市场遭受新能源袭击一样。
营销页面与 CMS 系统
大量企业官网、活动落地页使用基于 jQuery 的 CMS 模板。它们功能简单、生命周期短,不值得用 React 重构。
这些页面,有利于搜索引擎收录等,通常不采用 vue、React 等框架。
快速原型与 MVP
对于需要快速验证想法的场景,jQuery 仍是最高效的工具之一。引入一个 CDN 链接就能开工,无需配置构建工具。
尤其是一些原型设计软件,以及一些 AI 生成的落地页等。
jQuery 插件依赖
数据表格(DataTables)、轮播图(Slick)、日期选择器(datepicker)等经典插件,依然有稳定用户群。它们的 jQuery 依赖决定了底层技术栈。
结语
jQuery 4.0 不是一次“逆袭”的尝试,而是有它的精准定位。它的一份负责任的“维护声明”,清晰地告诉世界。
- 对于新项目,jQuery 不是首选,React/Vue 会更合适。
- 对于存量项目,jQuery 依然值得信赖,而且还在进化。
- 对于老旧系统,要么用 NES 服务续命,要么逐步重构。
虽然 jQuery 的辉煌确实已成历史,但它的影响力仍在。就像 COBOL 语言仍在银行主机系统中运转一样,jQuery 也将在互联网的长尾中持续发光发热。4.0 版本的发布,不是王者归来,而是一位老管家默默整理工具箱,为仍需服务的数百万网站,提供更安全、更现代的体验。
jQuery 并没有抛弃老网站,也并没有抛弃它的拥护者。它依然告诉我们,技术选型没有银弹,只有最合适的选择。

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » jQuery 4.0正式发布,20年了全球90%网站还在使用它!