jQuery优缺点

3 篇文章 0 订阅

优点:

jQuery强调的理念是:写的少,做的多(write less, do more)。其独特的选择器、链式的DOM操作方式、事件绑定机制、封装完善的Ajax都是其它JavaScript库望尘莫及的。

(1)轻量级。jQuery非常轻巧,采用Dean Edwards的Packer(http://dean.edwards.name/packer/) 压缩后,只有不到30KB的大小,如果服务器端启用gzip压缩后,甚至只有16KB的大小!

(2)强大的选择器。jQuery可以让操作者使用从CSS 1到CSS 3几乎所有的选择器,以及jQuery独创的高级而复杂的选择器。如果你需要,还可以加入插件使其支持XPath选择器!

(3)出色的DOM操作的封装。jQuery封装了大量常用DOM操作,使你编写DOM操作相关程序的时候能够得心应手,优雅的完成各种原本非常复杂的操作,让JavaScript新手也能写出出色的程序。

(4)可靠的事件处理机制。jQuery的事件处理机制吸取了JavaScript专家Dean Edwards编写的事件处理函数的精华,使得jQuery处理事件绑定的时候相当的可靠。在预留退路(graceful degradation)方面,jQuery也做的非常不错。

(5)完善的Ajax。jQuery将所有的Ajax操作封装到一个函数$.ajax里,使得我们处理Ajax的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和XMLHttpRequest对象的创建和使用的问题。

(6)不污染顶级变量。jQuery只建立一个名为jQuery的对象,其所有的方法都在这个对象之下。另外的一个别名$也是可以随时交出控制权的。绝对不会污染其它的对象!

(7)出色的浏览器兼容性。作为一个流行的JavaScript库,浏览器的兼容性自然是必须具备的条件之一。jQuery能够在IE 6.0+、FF 2+、Safari 2.0+和Opera 9.0+下正常运行。同时修复了一些浏览器之间的差异。使你不用在开展项目前忙于建立一个浏览器兼容库而焦头烂额。

(8)链式操作方式。jQuery中最有特色的莫过于它的链式操作方式——即对发生在同一个jQuery对象上的一组动作,可直接连写而无需重复获取对象。这一点使jQuery的代码无比优雅。

(9)行为层与结构层的分离。开发者不需要再去html调用事件,而是直接使用jQuery选择器选中元素,然后直接给元素添加事件。

(10)丰富的插件支持。任何事物的壮大,如果没有很多人的支持,是永远发展不起来的。jQuery的易扩展性,吸引了来自全球的开发者来共同编写jQuery的扩展插件。目前已经有超过几百种的官方插件支持。在第七章,我们将介绍目前流行的几款插件并指导大家动手编写自己的插件。

(11)完善的文档。jQuery的文档是非常丰富的,现阶段多为英文文档,而中文文档较少。当然,很多热爱jQuery的团队都在为这个努力,比如图灵教育翻译的《Learning jQuery》。

(12)开源。jQuery是一个开源的产品,任何人都可以自由的使用。

jQuery的不足之处 

当然,jQuery并非完美无缺。

◆ 不能向后兼容。每一个新版本不能兼容早期的版本。举例来说,有些新版本不再支持某些selector,新版jQuery却没有保留对它们的支持,而只是简单的将其移除。这可能会影响到开发者已经编写好的代码或插件。 

◆ 插件兼容性。与上一点类似,当新版jQuery推出后,如果开发者想升级的话,要看插件作者是否支持。通常情况下,在最新版jQuery版本下,现有插件 可能无法正常使用。开发者使用的插件越多,这种情况发生的几率也越高。我有一次为了升级到jQuery 1.3,不得不自己动手修改了一个第三方插件。 

◆ 在同一页面上使用多个插件时,很容易碰到冲突现象,尤其是这些插件依赖相同事件或selector时最为明显。这虽然不是jQuery自身的问题,但却又确实是一个难于调试和解决的问题。 

◆ 在大型框架中,jQuery核心代码库对动画和特效的支持相对较差。但是实际上这不是一个问题。目前在这方面有一个单独的jQuery UI项目和众多插件来弥补此点。 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值