jQuery 最近发布了 4.0 测试版,这个版本除了带来了错误修复和性能提升之外,其中最值得注意的就是 4.0 放弃了对 IE 10 及更低版本的支持,这不仅降低了文件大小,并且更好地适应现代 Web 标准,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
此外此次更新还包含:清除多余代码、淘汰已废弃的 API、移除未发布的内部参数,以及简化过于复杂的“魔法”行为。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
jQuery 项目进展并不快,上一个主要版本 jQuery 3.0 是在 2016 年 6 月发布,而 4.0 曾计划于 2022 年发布,结果跳票了几次,所以差不多8年时间了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
放弃对 IE 10 及更低版本的支持
jQuery 4.0 最显著的升级就是放弃了对 IE 10 及更低版本的支持,并且预计在下一个版本 jQuery 5.0 发布的时候将彻底放弃对 IE 11 即所有 IE 浏览器的支持。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
这次更新移除了专门为旧版本 IE 设计的代码,使代码库更加高效,文件大小就减少了 867 字节,并且是gzip 压缩之后的大小,对其他过时浏览器的支持也同时删除了,如 Edge Legacy(不基于 Chromium 引擎)、iOS 11 之前的老版本、Firefox 65 之前的老版本等。如果你的用户还在使用这些浏览器,那么建议你继续使用 jQuery 3.x 版本。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
移除已废弃的 API
下面这些函数要么是内部使用的,要么现在所有支持的浏览器中都有原生相同功能的函数,jQuery 已经在之前几个版本中就被弃用它们,4.0 又是一个主要版本,所以是时候彻底移除它们了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
jQuery.cssNumber
jQuery.cssProps
jQuery.isArray
jQuery.parseJSON
jQuery.nodeName
jQuery.isFunction
jQuery.isWindow
jQuery.camelCase
jQuery.type
jQuery.now
jQuery.isNumeric
jQuery.trim
jQuery.fx.interval
如果你在项目中使用了这些函数,请务必使用相应的原生方法或替代函数更新它,以确保与 jQuery 4.0 兼容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
其他改进
移除一些特定方法:jQuery 4.0 移除了一些内部使用的数组方法,包括 push
、sort
和 splice
,开发者如果使用了这些内部方法,记得使用标准数组方法去代替这些方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
事件顺序变化:为了符合最新的W3C规范,jQuery 4.0 中 focusin
和 focusout
事件的处理顺序发生了变化,新的顺序是:blur -> focusout -> focus -> focusin,这可能会影响依赖旧顺序的插件或代码,开发者也要注意下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
添加 FormData 支持:jQuery.ajax 现在可以自动处理二进制数据,包括 FormData,无需额外配置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
移除 JSONP 自动转换:jQuery 4.0 不再自动将 dataType: "json"
和提供的回调函数转换为 JSONP 请求,现在推荐使用 CORS 进行跨域操作,因为它在 jQuery 4.0 所有支持的浏览器中都有效,并且有助于避免在不知情的情况下执行跨域的代码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
你还在使用 jQuery 吗?
时至今日,jQuery 依然是网络上运行时间最长、最具影响力的 JavaScript 库之一,根据 BuiltWith 的统计数据,排名前 100 万的网站中超过 60% 以某种方式使用 jQuery,其中最大的原因是 WordPress 内置了 jQuery,相信 4.0 发布之后,WordPress 也会很快在其新版本中集成 jQuery 4.0。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html
很多程序员不再使用 jQuery 作为 JavaScript 的框架,但是其庞大遗留代码库使得它可能还会存在很长时间,至少它会在未来依旧会在数千万个 WordPress 网站中存在,如果你和我一样纯后端程序员,希望自己简单操作一下页面,那么 JQuery 依旧是最方便使用的 JavaScript 库。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/60391.html