jQuery简介

jQuery并不是一个framework,只是一个library,它胜在将DOM树查找、事件绑定监听、浏览器兼容性完美结合在一起。
参考jQuery 解决了怎样的问题?
jQuery 解决了 Web 发展中一个时代的问题,此时已隐退二线。
刚开始 JS 就是一门脚本语言,提供的 API 并不完善,可以说自身语言能力十分薄弱,因而 Prototype 这个库风靡一时,它的出现就是为了完善 JS 语言上的不足。
随着 Ajax 的兴起,Web 需求越来越旺盛,当时也出现了 Gmail 这类庞大、好用的 Web 应用,Web 正式进入 2.0 时代。而与此同时,浏览器各厂商之间也开始了市场争夺战,不同浏览器奉行各自一套 Web 标准,导致 JS API 很不一致,开发者需要花费大量时间兼顾多个浏览器。此时,jQuery 顺势而生。
jQuery 良好地屏蔽了各浏览器之间的差异,同时也将链式调用这种 DSL 丝滑地融进了前端的日常编码中,随着 jQuery 地位的不断攀升,它渐渐地成为前端开发者必不可少的开发利器,并出现了一大批 jQuery 的维护者和使用者,成千上万 jQuery 使用者向社区提交组件,形成了一个「DOM 操作世界」中繁华的社区。
然而,近些年,各浏览器厂商之间的合(tuǒ)作(xié),产出了高度一致的 Web 开发标准,在浏览器的升级迭代过程中,基本上磨平了 JS API 的差异,与此同时,也提升了语言自身的能力和 JS 对宿主对象操纵的能力,jQuery 以及其他对语言和平台做弥补的库开始慢慢凋零。
【jQuery简介】参考jQuery会过时吗?
说这个你得知道jQuery提供的核心价值是什么。
我总结有几点:
  1. 发扬光大了$和CSS选择器的天才idea(尽管都不是发明者)
  2. 处理浏览器的兼容性问题和各种bug
  3. 链式调用为核心的DSL(此为jQuery独创)
  4. 基于jQuery的生态(大量插件,各种工具如IDE也对其有良好支持)
    看一下前两点,
  5. 新的DOM标准(借鉴jQuery)加入了许多新的方法,覆盖了绝大部分use cases;
  6. 目前主流浏览器的兼容性已经大幅提高,且因为都是Evergreen browsers了,所以以后也不太会出现严重的兼容性问题了;此外新标准比以往要更详尽清晰,出现不一致和bug的机率也小了;
    实际上这前两点也不是一蹴而就的,而是一直在改进。比如原生querySelector API普及之后,才出现了Zepto。只不过这两年发展加速,以至于Zepto还没取代jQuery,就要一起过时了。

    推荐阅读