1. 首页
  2. >
  3. 前端开发
  4. >
  5. Javascript

jQuery3.6.0终于来了!全新版本有不同?

时隔将近一年, jQuery团队终于揭开了等待已久的3.6.0发布版的神秘面纱,带来了全新的、精简过的选项,以及新的主要功能、改进和bug的修复。


更新后的jQuery有哪些特点?又给我们带了什么样的全新体验?今天的文章小渡就为你一探究竟!



1、什么是jQuery


jQuery简写jq,Query是查询的意思,jQuery顾名思义就是一个让JavaScript更加方便的查询和控制页面控件的库。


很多人把jQuery定位为一个JavaScript框架,这是不严谨的。框架是解决方案的轮子,而jQuery的本质是js文件,是对原生js进行浓缩和优化后,进一步封装成的超集(库)。


jQuery设计的宗旨是“Write Less, Do More”,即倡导写更少的代码,做更多的事情。它封装了Javascript常用的功能代码,提供一种简便的Javascript设计模式,优化№L文档操作、事件处理、动画设计和Ajax交互。


jQuery3.6.0终于来了!全新版本有不同?「渡一教育」

图片源自网络,仅做配文展示



2、jQuery有哪些特点


随着Web前端技术的不断发展,互联网上诞生了很多优秀的JavaScript框架,这些框架基本上都封装了JavaScript、DOM和Ajax等操作的功能,为开发人员提供了更加快捷、强大的开发方式。


jQuery因其简洁的语法和跨浏览器的兼容性特点,极大地简化了开发人员对DOM对象、事件处理、动画效果和Ajax的操作,如今已经脱颖而出,成为Web开发人员的最佳选择。


jQuery的特点可以归纳为以下几点:


1、 对JavaScript语言增强的同时,大大简化了代码的编写工作


jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。还有一点是对js事件处理的增强;


jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太多事件处理代码。最重要的是,它的事件处理器消除了各种浏览器兼容性问题!


2、 快速获取文档元素


jQuery的选择机制构建于csS的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScrip中获取页面元素的方式。


3、 提供漂亮的页面动态效果


jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。


不足之处

1、 需要引入第三方jQuery文件,且jQuery各个版本之间存在用法冲突;

2、 极度依赖DOM节点,全DOM操作,维护难度较大;

3、 体量臃肿,有很多功能不实用;


jQuery3.6.0终于来了!全新版本有不同?「渡一教育」

图片源自网络,仅做配文展示



3、为什么要学jQuery


虽然jQuery有一些不足之处,但现代Web开发中,jQuery一直是传统开发的代名词。目前jQuery仅有27KB,并且在通过CDN方式分发并不会增加站点压力,因此jQuery的辅助方法还是能够帮我们提升代码的编写效率与性能。


首先,jQuery对新人很友好。


不需要理解很多的思想、理论、模式。拿过来就可以用,用了就可以出效果,很有学习的成就感。


其次,jQuery很符合人的自然思维方式。


也就是面向过程的思维方式。从a->b,再从b->c,再从c->d,一步一步的做下去。


再次,jQuery很容易积累一些代码。


因为按现在的标准来看,jq的代码的冗余量很大的。但是对于前端新人来讲,这是一个必须的过程,你必须多写代码,才能少写代码。


例如,你之前一直使用jQuery写代码,然后改到VueJs,你会强烈的感受到vue的便捷,同时你也会很清楚VueJs帮你做了哪些;哪些代码是你以前要写,但现在不用写了;省掉的代码为什么被省掉了...等,你要有对比,才会有提高。


最后,jQuery非常锻炼思维能力。


因为jQuery没有MVVM的数据<->视图的对应关系,所以必须手动去维护数据与视图的一致性,所以对于前端新人的逻辑思维会有比较好的锻炼作用。


当他切换到reactJs或是VueJs的时候,“dom查找器”和“MVVM数据驱动视图”这二种不同思维之间的对比会很强烈,会很明显的感受到reactJs和vueJs比jQuery先进在哪些。


如果没有学习jq的话,就会跳过许多手动操作数据的步骤过程。这对于加深前端开发的理解没有好处。


jQuery3.6.0终于来了!全新版本有不同?「渡一教育」

图片源自网络,仅做配文展示



4、jQuery3.6.0的更新亮点


即使存在JSONP错误也返回JSON

在以前的版本中,当JSONP请求返回错误时,返回通常仍是一个可执行脚本。3.6.0版本已经更改了默认行为,以尝试在这种情况下执行脚本。当遇到错误时,正常的脚本仍将被跳过。


修正

一个值得强调的bug是关于将焦点重定向到焦点处理程序中的另一个元素。

其他错误修复和改进包括:修复了在Firefox中检索表格行的维度;修复了在已删除元素上触发焦点事件时,Chrome崩溃的问题;对某些测试进行了多项改进等。下面是完整的变更日志:


Ajax

执行JSONP错误脚本响应(#4771, 3bae54aa)


Core

1、 在parseXML报告浏览器错误(#4784, 54d98835)

2、 恢复对jQuery3.x 的QtWebKit支持(#4756, bf1430a7)


Deferred

将master重命名为primary(15b62a2e)


Dimensions

修改reliableTrDimensions支持测试,以考虑到FF(#4529, bcd40aa7)


Docs

将JSFoundation 提及的内容更改为OpenJSFoundation (db43ef0b)


Event

1、 使焦点重新触发而不是将原来的元素聚焦回来(#4382, 2fadbc0a)

2、 如果一个元素在模糊时被移除,不会崩溃(#4417, aaf9c55a)

3、 移除event.whichshim (#3235, 2bf9793e)


Selector

将Sizzle从2.3.5更新到2.3.6(#4782, 16548740)


Support

确保支持div的display设置为block(#4844) (#4832, f8bdb127)


Tests

1、 修正没有数据类型的脚本不自动执行的测试(7298e04f)

2、 跳过LegacyEdge 中的jQuery.parseXML错误报告测试(bf06dd47)

3、 修正jQuery.parseXML错误报告测试(1ec36332)

4、 在Node.jsmock 服务器中识别带点的回调(4c572a7f)

5、 跳过Safari中的"jQuery.ajax()on unload"测试(4f016c64)

6、 删除一个未使用的局部变量(beea433d)

7、 删除剩余的过时jQuery.cache引用(5e028c76)

8、 删除过时的jQuery数据测试(8ad78cdb)


P.S. 想要获取更多信息,可以戳底部原文链接噢~


作为世界上使用最广泛的JavaScript库,jQuery曾经帮助过一代开发人员创建了适用于每种浏览器的网站,可以说,Web开发之所以能有今天,jQuery可谓功不可没。


目前,jQuery还在积极地发展中,jQuery曾经帮助过一代开发人员创建适用于每种浏览器的网站。虽然如今jQuery的很多方面已经被新的库、框架和范例所取代,但就像小渡之前提到的,前端开发发展到今天,jQuery至关重要。


除非jQuery的功能发生重大变化,否则在未来几年内,jQuery的使用率可能会继续缓慢但稳定地下降。新网站都会倾向于采用更现代的框架构建,适合采用jQuery的情况会越来越少,似乎看起来Web开发工具的流失率让人有点痛心。


但换个思路来说,这也是一个快速进步的标志。jQuery为Web开发带来了更好的方式。而它之后的后起之秀也在朝着这个方向努力。