jQuery 4.0 正式发布:轻装上阵,拥抱现代 Web

jQuery 4.0 正式发布:轻装上阵,拥抱现代 Web

📢 jQuery 4.0 发布

各位古早 Web 开发道友,还记得 JavaScript 中一大堆的 $ 符号吗😄。

2026年1月17日,jQuery 官方博客正式发布了 jQuery 4.0.0。作为前端开发史上最具影响力的 JavaScript 库之一,jQuery 这次的更新不是“小修小补”,而是一次面向未来的彻底重构

如果你还在用 jQuery 1.x/2.x 写 IE 兼容代码,那这次升级可能会让你“痛并快乐着”——因为 jQuery 4.0 彻底和旧时代说再见了。

🚀 jQuery 20 年


On January 14, 2006, John Resig introduced a JavaScript library called jQuery at BarCamp in New York City. Now, 20 years later, the jQuery team is happy to announce the final release of jQuery 4.0.0. After a long development cycle and several pre-releases, jQuery 4.0.0 brings many improvements and modernizations. It is the first major version release in almost 10 years and includes some breaking changes, so be sure to read through the details below before upgrading. Still, we expect that most users will be able to upgrade with minimal changes to their code.

Many of the breaking changes are ones the team has wanted to make for years, but couldn’t in a patch or minor release. We’ve trimmed legacy code, removed some previously-deprecated APIs, removed some internal-only parameters to public functions that were never documented, and dropped support for some “magic” behaviors that were overly complicated.


谷歌翻译
2006 年 1 月 14 日,John Resig 在纽约市的 BarCamp 大会上发布了名为 jQuery 的 JavaScript 库。如今,20 年过去了,jQuery 团队很高兴地宣布 jQuery 4.0.0 正式版发布。经过漫长的开发周期和多次预发布,jQuery 4.0.0 带来了诸多改进和现代化。这是近 10 年来的首个主要版本,其中包含一些重大变更,因此请务必在升级前仔细阅读以下详细信息。不过,我们预计大多数用户只需对现有代码进行少量修改即可完成升级。

许多重大变更都是团队多年来一直想实现但无法在补丁或小版本中实现的功能。我们精简了遗留代码,移除了一些之前已弃用的 API,移除了一些从未记录在文档中的公共函数内部参数,并放弃了对一些过于复杂的“魔法”行为的支持。


上面是发布 4.0 的博文开头的两段话,让我感触很深!jQuery 从 2006 开始发布,到今年,整整 20 年!我是 2009 年写 Web 时接触 jQuery,它简单统一的 API 大大缩减开发量,直到后面 Angular/Vue 之类的前端架构出来,才慢慢脱离 jQuery。

下图是官方博文贴出来团队合影,万分感谢他们的努力付出!

🔥 4.0 核心特性

移除 IE < 11 支持:迟到但必要的一步

IE<11 support removed

是的,你没看错。jQuery 4.0 不再兼容 IE6~IE10,最低要求为 IE11(虽然 IE11 也将在 2025 年后逐步退出历史舞台)。这意味着:

  • 代码体积更小(无需 polyfill 老浏览器)
  • 性能更高(可直接使用现代 DOM API)
  • 开发体验更清爽(告别 $.browser 等 hack)

💡 提示:如果你的项目仍需支持 IE8~IE10,请继续使用 jQuery 3.x 分支。

引入 Trusted Types 与 CSP:开始认真对待前端安全

Trusted Types and CSP

随着 Web 安全标准的演进,内容安全策略(CSP)已成为现代应用的标配。jQuery 4.0 内置对 Trusted Types 的支持,防止 XSS 攻击通过 innerHTMLjQuery.html() 等接口注入恶意脚本。

例如:

// 在启用 CSP 的环境下,以下代码将安全执行$('#content').html('<p>安全内容</p>');

jQuery 内部会自动通过 TrustedHTML 封装字符串,避免被 CSP 拦截。

✅ 这对金融、政务等高安全要求场景意义重大。

源码迁移到 ES Modules:向现代构建体系靠拢

jQuery source migrated to ES modules

jQuery 终于告别了传统的 IIFE(立即调用函数表达式)打包方式,整个代码库重构为 ES Modules。这意味着:

  • 支持 tree-shaking(Webpack/Rollup 可按需引入)
  • 更好的模块化开发体验
  • 为未来拆分功能包(如 @jquery/dom, @jquery/event)打下基础

你现在可以这样导入:

import $ from'jquery';// 或者只导入你需要的部分(未来可能支持)import{ on, off }from'jquery/events';

移除已废弃 API:减少模糊行为

Deprecated APIs removed

jQuery 3.x 中标记为 deprecated 的方法,在 4.0 中全部删除,包括:

  • .bind(), .unbind(), .delegate(), .undelegate()
  • .load(), .unload(), .error()(事件方法)
  • jQuery.isWindow(), jQuery.proxy() 等工具函数

移除 jQuery prototype 上的内部方法

Internal-only methods removed from jQuery prototype

过去,一些仅供 jQuery 内部使用的函数(如 .pushStack() 的某些变体)会意外出现在 $(). 的原型上。4.0 版本严格隔离内部逻辑,只保留公开 API,减少命名冲突和误用风险。

这不仅让 API 更清晰,也提升了库的封装性。

Focus 事件顺序遵循 W3C 规范

Focus event order now follows W3C spec

此前,jQuery 的 focusin/focusout 事件在部分浏览器中的触发顺序与原生行为不一致。4.0 完全对齐 W3C 标准,确保跨浏览器一致性。

Slim 构建更新:继续做减法

Updated slim build

jQuery Slim 版本(不含 ajaxeffects 模块)也同步升级到 4.0。如果你只用选择器和 DOM 操作,Slim 版体积进一步缩小至 ~25KB(gzip 后),非常适合轻量级项目。

🤔 总结

jQuery 4.0 并不是一次“重生”,而是一次面向现代 Web 的断舍离

  • 放弃老浏览器
  • 拥抱安全标准
  • 清理历史包袱
  • 对内部结构做工程化升级

它不会让 jQuery 再次成为前端主角,但至少保证了一点:

在仍然需要 jQuery 的地方,它不会成为技术债的放大器。

如果你维护的是老系统,无需着急升级
如果你维护的是长期项目,4.0 是一个更干净的起点

Read more

告别SQL恐惧症:我用飞算JavaAI的SQL Chat,把数据库变成了“聊天室”

告别SQL恐惧症:我用飞算JavaAI的SQL Chat,把数据库变成了“聊天室”

摘要 对于许多开发者而言,与数据库打交道意味着繁琐的语法记忆、复杂的联表查询以及令人头疼的性能优化。你是否曾希望,能用说人话的方式直接操作数据库?飞算JavaAI专业版的SQL Chat功能,正是这样一个革命性的工具。本文将分享我如何将它变为一个永不疲倦的“数据库专家同事”,用自然语言轻松搞定一切数据需求。 一、 痛点切入:我们与SQL的“爱恨纠葛” 还记得那次惨痛的经历吗?新接手一个庞大项目,急需从几十张表中查询一份用户行为报表。你对着模糊的需求文档,在Navicat或DBeaver中艰难地敲打着JOIN、WHERE和GROUP BY,一遍遍执行、调试,生怕一个疏忽就拉垮了线上数据库。这不仅是技能的考验,更是对耐心和细心程度的终极折磨。 尤其是面对以下场景,无力感尤甚: * 复杂查询:涉及多表关联、嵌套子查询、窗口函数,SQL语句长得像一篇论文。 * 性能优化:一条SQL跑起来慢如蜗牛,却不知从何下手添加索引或改写。 * 老项目溯源:面对命名随意的表和字段,理解业务逻辑如同破译密码。 我们需要的不是一个更漂亮的SQL客户端,而是一个能理解我们意图的“智能数据库搭档”

AI实践(2)提示词工程

AI实践(2)提示词工程

AI实践(2)提示词工程 Author: Once Day Date: 2026年3月2日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: AI实践成长_Once-Day的博客-ZEEKLOG博客 参考文章:Documentation - Claude API DocsOpenAI for developersPrompt Engineering GuidePrompt Engineering Guide: The Ultimate Guide to Generative AI提示词技巧 – Claude 中文 - Claude AI 开发技术社区Prompting strategies for financial analysis | ClaudeGPT-5 prompting guidePrompt engineering | OpenAI APIPrompting

【硬核】从零搭建16人AI数字员工团队:OpenClaw“龙虾”部署大战斗

【硬核】从零搭建16人AI数字员工团队:OpenClaw“龙虾”部署大战斗

从零搭建16人AI数字员工团队:OpenClaw“龙虾”部署大战斗 大家好,我是禹笑笑,目前已经完成 openclaw 的的第 n 次进化,现目前市面上的部署,大多只是在玩软件安装的事儿。后续我会更新我本地的 openclaw 架构! 声明:本文仅代表个人部署经历和观点,不针对任何工具或平台的商业价值进行评判。所有技术问题均来源于真实使用体验,旨在为后来者提供参考。 前言:一个程序员对AI员工系统的执念 2026年的春天,我做了一个大胆的决定:我要搭建一个拥有16人规模的AI数字员工团队。 这个想法源于一次深夜的技术反思。那时候,我每天疲于应付各种琐碎的技术任务——写代码、查文档、调Bug、做测试、分析数据、优化SEO、运营社交媒体……一个人活成了一支队伍,却总是感觉时间不够用。我开始思考:能不能让AI帮我干活?能不能像管理真实员工一样,管理一群AI Agent? 答案是:能,而且已经有人这么做了。 OpenClaw进入了我的视野。这是一个新兴的多Agent协作框架,核心理念是“AI原生开发”