jQuery是JavaScript的标准库,刚开始发布的时候,大家都奉为前端神器,但是近来有关于“你不需要jQuery,使用原生JavaScript技术反而项目会变得更精简”的声音越来越大。出现这种情况的原因,笔者认为大致有两个,一个是大框架的兴起,减弱了大家的深层次思考,另一部分原因可能是HTML和CSS的兴起降低了jQuery的作用。
虽然“jQuery已过时”的声音不绝于耳且渐有加强,但是所有的jQuery使用统计数据都显示jQuery并没有出现人气突降的情况,它仍然是JavaScript库的巨头,并且使用者还在不断增加。
知乎上有网友评论说jQuery之所以火,既因为它做了一点事,更因为它没做许多事。很多人认为浏览器发展到2014年,非现代浏览器的使用比例已经越来越少,而现代浏览器里已经内置了完整的DOM选择器功能,能让你使用原生的浏览器提供的方法来实现jQuery的功能。所以jQuery的存在就变得有些尴尬。但其实,jQuery修复不一致的DOM API,支持所有浏览器的功能在现在很多开发者看来都是很实用的,并且具有很大优势。
其次,现代浏览器里虽已内置了完整的DOM选择器功能,但其实jQuery还提供了很多扩展功能。例如,jQuery重新实现了JavaScript / DOM事件系统,使其更加强大。除了通常的冒泡事件,我们还有委托事件,允许父元素为特定类型的所有子级提供事件处理程序,即使它们在处理程序被捕获时不存在。
如果要问jQuery 3.2.0有什么新功能?笔者的回答是新功能虽然不多,但却是极好的。最突出的就是对CSS功能的扩展。它现在可以访问CSS自定义属性,如果你错过了,还可以使用--myCustomProperty来添加CSS自定义属性。请注意,这里css函数一定比您预期的更多,因为它返回了css computed properties。不过,美中不足的是弃用了holdReady,nodeName和isArray。
前几日,jQuery 3.2.1发布,修补了很多3.2.0的错误。具体的变化大家可以去GitHub上查看:
https://github.com/jquery/jquery/compare/3.2.0...3.2.1
最后发起一个小投票,jQuery 3.2.1 你期待吗?