jQuery 3.0 的新特性

2022-11-30 0 806

jQuery称雄网络当今世界已近六个十年间了,它能始终固守并非没理据的。历经极短一两年,jQuery在不久前正式发布了新版:jQuery 3.0和jQuery Compat 3.0(相容版)。该版更高性能、更加速,考量了向后相容。赢得新一代出访版请出访:jQueryA43EI267SM。你也能看一看升级换代文件格式源代码

  责任编辑重点项目讲诉jQuery 3.0中以下几点新一代的关键变动及怎样采用它。

  1. jQuery 3.0 运转在严苛商业模式下

  当今社会基本上全力支持jQuery 3.0的应用程序都全力支持严苛商业模式,该版便是如前所述此展开校对正式发布的。

jQuery 3.0 的新特性

你的标识符早已运转在非严苛商业模式?不必害怕,你无须改写。jQuery 3虽为严苛商业模式,但并不强制性在严苛模式下运转你的标识符。严苛商业模式和非严苛商业模式会融洽的并存~

  2. For…of 循环式

jQuery 3.0 全力支持 for…of 函数,一类新式的for循环式。那个捷伊插值是ECMAScript 6的一部分。它得出一类更间接的结点第一类(如Arrays,Maps,和Sets)的形式。在jQuery 3.0中,for…of将代替$.each(…)。

var items = $(.random-class);   // old jQuery way $.each(items,  function(index, value)  {      // do something   });   // ES6 way   for(let item of items)  {      // do something   };

  表明:for…of仅用作全力支持ES6的应用程序,或是你采用了JSC++,比如说Babel。

  3. 动画接口:requestAnimationFrame( ) 

jQuery 3.0 采用requestAnimationFrame() 处理动画。它使动画运转起来更流畅、迅速,减少CPU密集型动画。但仅用作全力支持 它的应用程序。对于老的应用程序(如IE9),它会采用之前的API。更多 RequestAnimationFrame的内容能查询这里。

jQuery 3.0 的新特性

  4. escapeSelector( ) 转义包含特殊意义的字符串

$.escapeSelector()那个新方法将转义CSS选择器中有特殊意义的字符或字符串。它适用作CSS中含有表意特殊的字符的类名或ID,如.或是:。这种情况不常发生,不过一旦遇上,就能轻松解决掉了。

//consider this is your element   <div id=”abc.def”></div>   //above element cant be selected like this because the selector is parsed as “an element with id abc that also has a class def. $(#abc.def)   //with jQuery 3.0 it can be selected like this $(  #  + $.escapeSelector(  abc.def  )  )

  5. 对XSS攻击的附加防护

jQuery 3.0添加了额外安全层,用来防止 (XSS))攻击。采用时需要在 $.ajax() 和 $.get()方法中指定dataType: script。即,当请求跨域脚本时,必须要声明这一点。

Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user within the output it generates without validating or encoding it.

XSS攻击是一类注入攻击,其中恶意脚本注入受信任站点。XSS攻击发生在攻击者采用web应用发送一段恶意标识符(一般采用应用程序端脚本形式),给另一个不同的终端用户。web应用一旦采用了没历经验证或编码的输入就会有问题。

  6. 删除.ajax()中的特殊延迟方法

$.ajax()返回的jqXHR第一类是一类 Deferred。先前,它有三种附加方法对应着参数第一类success, error 和 complete。jQuery 3.0 删除了这些方法。现在能采用 Deferred的标准方法done, fail和 always,或是采用捷伊 then 和 catch方法。

 7. .get() 和 .post()的新签名

jQuery 3.0 为$.get() 和 $.post() 增添了新签名settings。增加settings参数,从而与$.ajax()的接口风格一致。settings是一个第一类,包含很多属性,与提供给$.ajax()的参数格式一致。唯一不同是传相同的settings给$.get()和$.post(),method属性经常被忽略,而传给$.ajax()不会。

//HTTP Get $.get([settings])   //HTTP Post $.post([settings])

  8. 全力支持SVG的类操作方法

从jQuery 3.0起, 开始完全全力支持SVG。jQuery操作CSS类名的方法,如.addClass() 和 .hasClass() 也能用来全力支持SVG了。这意味着能用jQuery在SVG里查找类,并且指定样式。

  9. 简易的Show/Hide 逻辑

the .show(),.hide() and .toggle() methods will focus on inline styles rather than computed styles. The docs asserts that the most important result will be:

这是一项关键的变动,需要铭记于心。。从现在开始,这些方法.show(),.hide() 和 .toggle()将只为inline styles服务,不再为computed styles效力了。文件格式声明最关键的结果将是:

As a result, disconnected elements are no longer considered hidden unless they have inline display: none;, and therefore .toggle() will no longer differentiate them from connected elements as of jQuery 3.0.

因此,未关联元素不再被考量hidden,除非它有inline display: none; .toggle() 不再区分关联和未关联元素。。

如果想更好的理解捷伊show/hide,可参看jQuery团队的这张 表,或阅读这篇关于它的有趣的 Github discussion 。

  10. .width ( ) 和 .height ( )全力支持小数

之前,jQuery对width(), height()及类似的方法提供的返回值是round类型(舍入取整),jQuery 3.0解决了那个bug,能拿到更精确的结果,如float类型。这是非常好的进步,毕竟有时,用户的确需要更精准的数据来处理布局。

  11. 废弃.bind()和.delegate()方法

jQuery 1.7 引入.on()方法来处理事件捕获。3.0中不建议采用.bind(), .unbind(), .delegate() 和 .undelegate()方法,并且这些方法在以后的版中可能会被彻底删除。你能放心大胆地在你的项目里采用on() 和 off()方法,不必害怕它之后被删除~

  总结

很多人认为jQuery已死,并且在以后的web当今世界里不再有一席之地。但它还在继续发展,拥护它的统计数据(几百万中占有率高达78.5%)也让这些论调不攻自破。

jQuery 3.0 的新特性

责任编辑带领你了解了jQuery 3.0的大部分改动,也许你早已注意到,那个版本不太可能会破坏你现有的项目。继续采用jQuery吧,“Write Less, Do More”。

via:http://www.zcfy.cc/article/what-s-inside-jquery-3-0-jquery-3-0-new-features-917.html

jQuery 3.0 的新特性

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务